共计 1470 个字符,预计需要花费 4 分钟才能阅读完成。
fastcgi 配置
我们这里说的 fastcgi 配置专指 nginx 对 fastcgi 的配置,fastcgi 本身的配置介绍在 fastcgi 安装文中有说明。
nginx 的 fastcgi 模块提供的命令
fastcgi_pass
这个命令是指定将 http 代理到哪个 fastcgi 服务端接口。fastcgi_pass 后面是填写 fastcgi 服务端地址的,这个地址可以是域地址,也可以是 Uninx- 域套接字。
fastcgi_pass localhost:9000;
fastcgi_pass unix:/tmp/fastcgi.socket;
这里的设置需要和 fastcgi 自身配置的 listen_address 做相应地对应。
比如上面那个例子,listen_addree 就应该这么配置:
<value name="listen_address">/tmp/fastcgi.socket</value>
fastcgi_param
这个命令是设置 fastcgi 请求中的参数,具体设置的东西可以在 $_SERVER 中获取到。
比如你想要设置当前的机器环境,可以使用 fastcgi_param ENV test;
来设置。
对于 php 来说,最少需要设置的变量有:
fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
对于 POST 请求,还需要设置:
fastcgi_param REQUEST_METHOD request m ethod;fastcgi p aramCONTENT T YPE requestmethod;fastcgiparamCONTENTTYPE content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param 还可以使用 if_not_empty 进行设置。意思是如果 value 非空才进行设置。
fastcgi_param HTTPS $https if_not_empty;
fastcgi_index
这个命令设置了 fastcgi 默认使用的脚本。就是当 SCRIPT_FILENAME 没有命中脚本的时候,使用的就是 fastcgi_index 设置的脚本。
以上三个命令能组成最基本的 fastcgi 设置了
location / {fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
}
fastcgi_hide_header,fastcgi_ignore_headers,fastcgi_pass_header
fastcgi_cache
这个命令是开启 fastcgi 的文件缓存。这个缓存可以将动态的页面存为静态的。以提供为加速或者容灾使用。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139817.htm