支持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。

这里也可以这么设置,include 包含一个配置文件 如:include fcgi.conf;

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”。

最新文章

  1. laravel5.2,注册服务提供者时无法生效
  2. Onsen UI – 新鲜出炉的 PhoneGap 界面框架
  3. nginx安装配置+清缓存模块安装
  4. MOOCULUS微积分-2: 数列与级数学习笔记 3. Convergence tests
  5. 重放攻击(Replay Attacks)
  6. Python学习路程day5
  7. Andorid面试问题整理
  8. MAT(2)安装Memory Analyzer
  9. ANDROID_MARS学习笔记_S01原始版_013_广播机制二
  10. js到记时代码
  11. Mysql数据库中的EXISTS和NOT EXISTS
  12. Android 性能优化 三 布局优化ViewStub标签的使用
  13. ”Metro UI之磁贴(二)
  14. 自己编译Android(小米5)内核并刷入(一键自动编译打包)
  15. [C++]求解三元一次方程组
  16. C++ code:数组初始化
  17. Sonar配置与使用
  18. Oracle Tuxedo的配置文件配置详解
  19. Monitor WMIExportsToC++Use DiskCleanup bypass UAC
  20. C#类似版本号有多个分割符可以产生的排列组合,类似版本号比较

热门文章

  1. html5 的 webScoket 和 C# 建立Socket连接
  2. 【HDOJ1828&&POJ1177】Picture(线段树,扫描线)
  3. FCKEDITOR配置说明
  4. 用dataset做数据源时,让gridview显示的列名与数据库表中的字段名不同
  5. [LeetCode] 4Sum hash表
  6. mysql 连接远程服务器
  7. c# 序列化对象为xml 方法
  8. java8 之CompletableFuture -- 如何构建异步应用
  9. httperf+autobench测试web应用
  10. 基于WPF系统框架设计(4)-Ribbon整合Avalondock 2.0实现多文档界面设计(一)