课程表

Nginx 基础

Nginx 核心模块

Nginx 基本模块

Nginx 其他模块

工具箱
速查手册

HTTP FastCGI 模块

当前位置:免费教程 » 数据库/运维 » Nginx

摘 要

这个模块允许Nginx 与FastCGI 进程交互,并通过传递参数来控制FastCGI 进程工作。

配置实例:

  1. location / {
  2.   fastcgi_pass   localhost:9000;
  3.   fastcgi_index  index.php;
  4.  
  5.   fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;
  6.   fastcgi_param  QUERY_STRING     $query_string;
  7.   fastcgi_param  REQUEST_METHOD   $request_method;
  8.   fastcgi_param  CONTENT_TYPE     $content_type;
  9.   fastcgi_param  CONTENT_LENGTH   $content_length;
  10. }

语法:

fastcgi_buffers

语法: fastcgi_buffers the_number is_size;

默认值: fastcgi_buffers 8 4k/8k;

作用域: http, server, location

该指令集设置缓冲区的数量和大小,用于缓存从 FastCGI Server 接收到的数据。默认情况下,一个缓冲区的大小相当于一个页面的大小。根据平台的不同设置为4K/8K

fastcgi_buffer_size

语法: fastcgi_buffer_size 大小

默认: fastcgi_buffer_size 4k/8k

环境: http, server, location

该命令设置缓冲区大小,其中将读取第一部分的输出,从fastcgi服务端获取

在这个输出的小输出标头部分的位置,作为一项规则

默认情况下,缓冲区大小是等于一个fastcgi缓冲区大小,允许将其设置为更少

fastcgi_cache

语法: fastcgi_cache zone;

默认值: none

作用域: http, server, location

设置缓存在共享内存中的名称. 一块区域可以被用于不用的地方.

fastcgi_cache_key

语法: fastcgi_cache_key line ;

默认值: none

作用域: http, server, location

设置缓存的key, 例:

  1. fastcgi_cache_key localhost: 9000 $ request_uri;

fastcgi_cache_methods

语法: fastcgi_cache_methods [GET HEAD POST];

默认: fastcgi_cache_methods GET HEAD;

环境: main,http,location

GET/HEAD 语法糖, 也就是. 即使你刚刚设置,也无法禁用 GET/HEAD

  1. fastcgi_cache_methods  POST;

fastcgi_cache_min_uses

语法: fastcgi_cache_min_uses n

默认值: fastcgi_cache_min_uses 1

作用域: http, server, location

TODO: Description.

fastcgi_cache_path

语法: fastcgi_cache_path /path/to/cache [levels=m:n keys_zone=name:time inactive=time clean_time=time]

默认值: none

作用域: http, server, location

TODO: Description.

fastcgi_cache_use_stale

语法: fastcgi_cache_use_stale [updating|error|timeout|invalid_header|http_500]

默认值: fastcgi_cache_use_stale off;

作用域: http, server, location

TODO: Description.

fastcgi_cache_valid

语法: fastcgi_cache_valid [http_error_code|time]

默认值: none

作用域: http, server, location

TODO: Description.

fastcgi_index

语法: fastcgi_index file

默认值: none

作用域: http, server, location

文件的名称,如果URI以一个斜杠结束,这个文件将被追加在URI后面,并且被存储在$fastcgi_script_name变量里面。

fastcgi_hide_header

语法: fastcgi_hide_header name

作用域: http, server, location

默认情况下Nginx 不会从FastCGI 进程里给客户端发送"Status" 和"X-Accel-..." 消息头。这个指令可以用来掩饰别的headers 。

如果需要"Status" 和"X-Accel-..." 消息头,那就需要使用这个指令让FastCGI 强制发送消息头给客户端。

fastcgi_ignore_client_abort

语法: fastcgi_ignore_client_abort on|off

默认值: fastcgi_ignore_client_abort off

作用域: http, server, location

这个指令用来决定忽略用户取消的请求。

fastcgi_intercept_errors

语法: fastcgi_intercept_errors on|off

默认值: fastcgi_intercept_errors off

作用域: http, server, location

这个指令用来决定是否要把客户端转向4xx和5xx错误页,或允许Nginx自动指定错误页页。

注意:你需要在此明确错误页,它才是有用的。Igor 曾说:“如果没有定制的处理机制,Nginx不会拦截一个没有缺省页的错误。Nginx 只会拦截一些小的错误,放过其他一些。

fastcgi_param

语法: fastcgi_param parameter value

默认值: none

作用域: http, server, location

该指令指定的参数,将被传递给FastCGI-server。

它可能使用字符串、变量及其它们的组合来作为参数值。如果不在此制定参数,它就会继承外层设置;如果在此设置了参数,将清除外层相关设置,仅启用本层设置。

下面是一个例子,对于PHP来说的最精简的必要参数:

  1.   fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;
  2.   fastcgi_param  QUERY_STRING     $query_string;

参数SCRIPT_FILENAME 是PHP 用来确定执行脚本的名字,而参数QUERY_STRING 是它的一个子参数。

如果要处理POST,那么这三个附加参数是必要的:

  1.   fastcgi_param  REQUEST_METHOD   $request_method;
  2.   fastcgi_param  CONTENT_TYPE     $content_type;
  3.   fastcgi_param  CONTENT_LENGTH   $content_length;

如果PHP 在编译时使用了--enable-force-cgi-redirect选项,设置参数REDIRECT_STATUS 的值为200就是必须的了。

  1.   fastcgi_param  REDIRECT_STATUS  200;
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号