支持phpfastcgi的配置如下:

server {

listen       8000;

server_name  localhost;

root F:/home/projects/test;

index        index.php;

location / {

index  index.php; ##可以有多个,空格隔开

}

location ~ \.php$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

}

解释说明:

1、location ~ \.php$ 匹配到php文件就进行fastcgi操作

2、fastcgi_pass   127.0.0.1:9000;指明nginx与fastcgi交互的id和端口号,也就是fastcgi监听的端口

3、fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;这里声明了一个fastcgi参数,参数名称为SCRIPT_FILENAME(对,也就是php中$_SERVER['SCRIPT_FILENAME']的值),这个参数表明目标进程要执行哪个php脚本$document_root,$fastcgi_script_name都是nginx的常量,稍后给解释。此处声明的参数会通信给php-cgi,php-cgi会进行一些php的常量超级变量的初始化,例如:$_SERVER['REQUEST_URI'],$_SERVER['SCRIPT_FILENAME'],$_SERVER['QUERY_STRING']……。

4、include        fastcgi_params;这里是包含所有nginx常量,传递给php-cgi。

当然这里可以—》

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

fastcgi_param  REQUEST_URI $request_uri;

fastcgi_param  QUERY_STRING $query_string;

......

部分nginx常量解释,以http://127.0.0.1:8000/?test=123&test2=abc为例子:

$args    #这个变量等于请求行中(GET请求)的参数,test=123&test2=abc;

$content_length #请求头中的Content-length字段;

$content_type  #请求头中的Content-Type字段;

$document_root #当前请求在root指令中指定的值,文件的物理root路径,F:/home/projects/test;

$document_uri  #同$uri;

$uri    #不带请求参数的当前URI,$uri不包含主机名,本例为"/"。该值有可能和$request_uri 不一致。$request_uri是浏览器发过来的值,该值不会被改变。该值有可能是rewrite后的值。例如做了internal redirects后。好多框架、伪静态都用到rewrite。$_SERVER['REQUEST_URI']往往是一些框架初始化关键,$request_uri的不可变性保证了这一点。

$host  #请求主机头字段,否则为服务器名称。127.0.0.1

$query_string  #同$args;

$request_method #GET或POST;

$remote_addr    #客户端的IP地址;

$remote_port    #客户端的端口;

$server_addr    #服务器地址 127.0.0.1

$server_name    #服务器名称,localhost;

$server_port    #8000;

$request_filename #当前请求的物理文件的名称,本例为F:/home/projects/test/index.php。此值可以因重定向改变。

$request_uri     #包含请求参数的原始URI,不包含主机名,由客户端请求决定,不能修改。”/?test=123&test2=abc”。

.........

nginx配置:支持phpfastcgi,nginx和php-cgi通信,部分nginx常量解释的更多相关文章

  1. nginx配置:支持phpfastcgi,nginx和php-cgi通信,部分nginx常量解释

    支持phpfastcgi的配置如下: server { listen 8000; server_name localhost; root F:/home/projects/test; index in ...

  2. Nginx配置支持https协议-应用实践

    Nginx配置支持https协议-应用实践 https简介 HTTPS 是运行在 TLS/SSL 之上的 HTTP,与普通的 HTTP 相比,在数据传输的安全性上有很大的提升. TLS是传输层安全协议 ...

  3. nginx配置支持http2

    1.简介 nginx 配置支持http2.目前大多数网站都是http1.1(如果你没有特别配置过的话) 一切都是为了访问更快. 2.如何查看自己网站的http版本 最简单的方法就F12啊,我这里是火狐 ...

  4. nginx 配置支持URL HTML5 History 模式 与 设置代理

    拾人牙慧:https://segmentfault.com/q/1010000007140360 nginx 配置支持URL HTML5 History 模式 location / { try_fil ...

  5. Nginx 配置支持 WAF

    WAF(Web Application Firewall),中文名叫做“Web应用防火墙” WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提 ...

  6. 40、Nginx 配置支持 WAF

    40.1 waf说明 1 WAF(Web Application Firewall),中文名叫做"Web应用防火墙". 2 WAF的定义是这样的:Web应用防火墙是通过执行一系列针 ...

  7. 全面掌握Nginx配置+快速搭建高可用架构 一 Centos7 安装Nginx

    Nginx官网 http://nginx.org/en/linux_packages.html#stable 配置yum 在etc的yum.repos.d目录下新增nginx.repo 将内容copy ...

  8. Apache和Nginx配置支持苹果ATS方法

    什么是ATS功能? ATS是iOS9和OS X El Capitan的一个新特性.开启该功能后,ATS对使用NSURLConnection, CFURL或NSURLSession 等APIs 进行的网 ...

  9. Nginx 配置支持 WebSocket

    找到nginx的配置文件:nginx.conf,增加以下三行配置. 示例: server { listen 80; server_name www.test.com; location / { pro ...

随机推荐

  1. oracle 本地使用命令导入数据到远程主机

    第一步:装载oracle客户端 第二部:配置tnsnames.ora. db_172.21.1.7 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST ...

  2. jQery无缝滚动效果

    思路: 赋值所有li,添加到ul末尾,重新计算ul宽度 每次移动一个固定的值,当超出一半时,将ul拉回原位 以下代码 <!DOCTYPE html> <html> <he ...

  3. 【Open Search产品评测】-- 淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案

     [Open Search产品评测]--  淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案   [使用背景] 我们淘点点团队应该可以算是内网首批使用opensearch来搭建应用 ...

  4. Dapper ORM 用法

    假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.Dapper的优势:1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编译后就40K ...

  5. Java中Integer的最大值和最小值

    从JDK1.0开始,Integer中就定义了MIN_VALUE和MAX-VALUE两个常量: /** * A constant holding the minimum value an {@code ...

  6. ASP.NET验证控件应用实例与详解。

    ASP.NET公有六种验证控件,分别如下:  控件名      功能描叙 1RequiredFieldValidator(必须字段验证)  用于检查是否有输入值 2CompareValidator(比 ...

  7. iOS加入百度地图的几个问题

    1.其中一个.m文件要改成.mm文件 2.plist文件必须包含两项 Bundle display name-值不能为空 NSLocationWhenInUseUsageDescription-值可以 ...

  8. tmux使用

    1.配置文件的使用 在~/.tmux.conf中添加: setw -g mouse-resize-pane on setw -g mouse-select-pane on setw -g mouse- ...

  9. 9种CSS3炫酷图片展开预览展示动画特效

    详细内容请点击 在线预览立即下载 这是一组共9款CSS3炫酷图片预览展示动画特效插件.css的新特性可以让我们制作出各种炫酷的动画效果.该图片预览展示动画特效就是一个很好的例子,该效果开始时图片堆叠在 ...

  10. .NET使用NPOI读取Word模板并替换关键字并下载

    NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...