fastcgi 模块各个常用变量的意义

nginx fasrcgi 模块的文档: http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html

fastcgi_pass :设置FastCGI服务器的地址。将匹配到该location的请求转发到设置的地址上
地址取值为三种
1:域名或IP地址以及端口 例如:fastcgi_pass localhost:9000;
2:UNIX域套接字路径例如:fastcgi_pass unix:/tmp/fastcgi.socket;
3:有多个 fastcgi_pass 这其实和服务器组一样只是都写在了server里面 例如:
fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;

proxy_pass 代理转发,有了这个就不需要其他的fastcgi 参数了因为这里是给转发走了本location不再处理请求 这个实现了负载均衡 例如:
location / {
proxy_pass http://myserver #将fastcgi请求转发到服务器组
}
fastcgi_index : 设置将在$fastcgi_script_name变量值中以斜杠结尾的URI后追加的文件名。例如,使用这些设置(fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME / home / www / scripts / php $ fastcgi_script_name; 和“ /page.php”请求,SCRIPT_FILENAME参数将等于“ /home/www/scripts/php/page.php”,而“ /”请求将等于“ /home/www/scripts/php/index.php”)

fastcgi_param 声明转发给 fastcgi 程序时的变量

fastcgi_split_path_info : 定义捕获 f a s t c g i p a t h i n f o 变 量 值 的 正 则 表 达 式 。 正 则 表 达 式 应 该 有 两 个 捕 获 : 第 一 个 成 为 fastcgi_path_info变量值的正则表达式 。正则表达式应该有两个捕获:第一个成为 fastcgipathinfofastcgi_script_name变量的值,第二个成为KaTeX parse error: Can't use function '\.' in math mode at position 43: …ocation ~ ^(.+\̲.̲php)(.*) {
fastcgi_split_path_info ^(.+.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentrootfastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}

当请求 “ /show.php/article/0001”的时候SCRIPT_FILENAME等于“ /path/to/php/show.php”,
PATH_INFO参数将等于 “ /article/0001”。(这里面 /path/to/php是 root定义的文件目录)

附件:
在http节点添加 upstream 节点这这个就是一个服务器组可以设置权重等,这个必须在server 前面声明
upstream myserver {
#weigth 参数表示权值,权值越高被分配到的几率越大
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80 weight=1;
server 192.168.8.3:80 weight=6;
}

你可能感兴趣的:(fastcgi 模块各个常用变量的意义)