专栏首页卯金刀GGNGINX 配置文件 fastcgi_pass

NGINX 配置文件 fastcgi_pass

语法:fastcgi_pass fastcgi-server 默认值:none 使用字段:http, server, location 指定FastCGI服务器监听端口与地址,可以是本机或者其它:

fastcgi_pass   localhost:9000;

使用Unix socket:

fastcgi_pass   unix:/tmp/fastcgi.socket;

同样可以使用一个upstream字段名称:

upstream backend  {
  server   localhost:1234;
}
 
fastcgi_pass   backend;

fastcgi_pass_header

语法:fastcgi_pass_header name 默认值:none 使用字段:http, server, location

fastcgi_read_timeout

语法:fastcgi_read_timeout time 默认值:fastcgi_read_timeout 60 使用字段:http, server, location 前端FastCGI服务器的响应超时时间,如果有一些直到它们运行完才有输出的长时间运行的FastCGI进程,或者在错误日志中出现前端服务器响应超时错误,可能需要调整这个值。

fastcgi_redirect_errors

语法:fastcgi_redirect_errors on|off 指令重命名为fastcgi_intercept_errors。

fastcgi_send_timeout

语法:fastcgi_send_timeout time 默认值:fastcgi_send_timeout 60 使用字段:http, server, location 指令为上游服务器设置等待一个FastCGI进程的传送数据时间,如果有一些直到它们运行完才有输出的长时间运行的FastCGI进程,那么可以修改这个值,如果你在上游服务器的error log里面发现一些超时错误,那么可以恰当的增加这个值。 指令指定请求服务器的超时时间,指完成了2次握手的连接,而不是完整的连接,如果在这期间客户端没有进行数据传递,那么服务器将关闭这个连接。

fastcgi_split_path_info

语法:fastcgi_split_path_info regex 使用字段:location 可用版本:0.7.31以上 这个指令允许为CGI specification设置SCRIPT_FILENAME (SCRIPT_NAME)和PATH_INFO变量。正则包含两个组:

  • 处理请求的脚本路径–对应$fastcgi_script_name。
  • 脚本参数的值–对应$fastcgi_path_info。

下面是一个示例,脚本show.php接受字符串参数: article/0001,下面的例子将处理路径妥善分裂:

location ~ ^.+\.php {
  (...)
  fastcgi_split_path_info ^(.+\.php)(.*)$;
  fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
  (...)
}

请求”/show.php/article/0001”的参数SCRIPT_FILENAME将设置为”/path/to/php/show.php”,参数PATH_INFO为”/article/0001”。

fastcgi_store

语法:fastcgi_store [on | off | path] 默认值:fastcgi_store off 使用字段:http, server, location 制定了存储前端文件的路径,参数on指定了将使用root和alias指令相同的路径,off禁止存储,此外,参数中可以使用变量使路径名更明确:

fastcgi_store   /data/www$original_uri;

应答中的”Last-Modified”头将设置文件的最后修改时间,为了使这些文件更加安全,可以将其在一个目录中存为临时文件,使用fastcgi_temp_path指令。 这个指令可以用在为那些不是经常改变的后端动态输出创建本地拷贝的过程中。如:

location /images/ {
  root                 /data/www;
  error_page           404 = /fetch$uri;
}
 
location /fetch {
  internal;
 
  fastcgi_pass           fastcgi://backend;
  fastcgi_store          on;
  fastcgi_store_access   user:rw  group:rw  all:r;
  fastcgi_temp_path      /data/temp;
 
  alias                  /data/www;
}

fastcgi_store并不是缓存,某些需求下它更像是一个镜像。

fastcgi_store_access

语法:fastcgi_store_access users:permissions [users:permission …] 默认值:fastcgi_store_access user:rw 使用字段:http, server, location 这个参数指定创建文件或目录的权限,例如:

fastcgi_store_access  user:rw  group:rw  all:r;

如果要指定一个组的人的相关权限,可以不写用户,如:

fastcgi_store_access  group:rw  all:r;

fastcgi_temp_path

语法:fastcgi_temp_path path [level1 [level2 [level3]]] 默认值:fastcgi_temp_path fastcgi_temp 使用字段:http, server, location 指令指定存储从别的服务器传送来的数据临时文件路径,同样可以指定三级目录已经哈希存储,level的值指定为哈希设置多少标记,例如,在下列配置中:

fastcgi_temp_path  /spool/nginx/fastcgi_temp 1 2;

临时文件类似如下:

/spool/nginx/fastcgi_temp/7/45/00000123457

传送到FastCGI服务器的相关参数

请求头是以参数的形式传送到FastCGI服务器,以具体应用和脚本运行在FastCGI服务器上,这些参数通常以环境变量的形式取得,例 如,”User-agent”头以HTTP_USER_AGENT参数传递,除此之外还有一些其他的http头,都可以用fastcgi_param指令 自由传递。

变量

$fastcgi_script_name

这个变量等于一个以斜线结尾的请求URI加上fastcgi_index给定的参数。可以用这个变量代替SCRIPT_FILENAME 和PATH_TRANSLATED,以确定php脚本的名称。 如下例,请求”/info/”:

fastcgi_index  index.php;
 fastcgi_param  SCRIPT_FILENAME  /home/www/scripts/php$fastcgi_script_name;

SCRIPT_FILENAME等于”/home/www/scripts/php/info/index.php”。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Nginx 完整配置说明

    上面说的include的几个文件,都没有必要改,用的时候include一下就可以。

    用户5640963
  • webuploader java版本

    网上一些webuploader上传的资料,有php版和java版本的,做了一下整合,现分享以下成果,可以讨论,不喜勿碰。说一下过程。

    用户5640963
  • SSE+easyui 分页

    3、mybatis的maper和xml文件对应,配置位置spring.xml 此为我备忘的记录

    用户5640963
  • nginx之详解fastcgi指令(修正)

    随心助手
  • [PHP] 安装PHP报错“Primary script unknown”的解决方法

    当安装完最新版的nginx和最新版的PHP以后,使用niginx默认配置文件中的PHP配置会有错误 访问指定目录下的php文件时,显示File not foun...

    陶士涵
  • Nginx兼容框架的pathinfo模式与URL重写

    几乎所有的框架(ThinkPHP,Zend Framework,CI,Yii,laravel等)都会使用URL重写或者pathinfo模式,使URL看起来更美观...

    公众号php_pachong
  • Nginx ngx_http_fastcgi_module模块详解(八)

    咻一咻
  • nginx fastcgi模块ngx_http_fastcgi_module详细解析、使用手册、完整翻译

    ngx_http_fastcgi_module 模块允许将请求传递给 FastCGI 服务器。

    sunsky
  • [nginx]nginx的一个奇葩问题 500 Internal Server Error phpstudy2018

    [nginx]nginx的一个奇葩问题 500 Internal Server Error

    landv
  • HTTP服务器Nginx服务介绍续

    在此之前也介绍过相关的内容与安装过程,介于实际生产运维环境中使用之多,还是有必要详细了解和理解它的一些强大的功能与特性。

    民工哥

扫码关注云+社区

领取腾讯云代金券