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

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; i ...

  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. 树上路径(path)

    树上路径(path) 题目描述 在Berland,有n个城堡. 每个城堡恰好属于一个领主.不同的城堡属于不同的领主.在所有领主中有一个是国王,其他的每个领主都直接隶属于另一位领主,并且间接隶属于国王. ...

  2. 【转】Nodejs学习笔记(一)--- 简介及安装Node.js开发环境

    目录 学习资料 简介 安装Node.js npm简介 开发工具 Sublime Node.js开发环境配置 扩展:安装多版本管理器 学习资料 1.深入浅出Node.js http://www.info ...

  3. iOS多线程:『GCD』详尽总结 ---(转)

    文章:https://bujige.net/blog/iOS-Complete-learning-GCD.html 文中 Demo 我已放在了 Github 上,Demo 链接:https://git ...

  4. 地精部落(bzoj 1925)

    Description 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi, ...

  5. ANT总结

    1 Ant是什么? Apache Ant 是一个基于 Java的生成工具.生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式).随着应用程序的生成 ...

  6. (三)Spring 依赖注入

    一.Spring框架本身有四大原则: 使用POJO进行轻量级和最小侵入式开发. 通过依赖注入和接口变成实现松耦合. 通过AOP和默认习惯进行声明式变成. 使用AOP和模板减少模式化代码. Spring ...

  7. EasyUI-Calendar

    EasyUI-Calendar 日历篇 Calendar也是页面中经常用到的元素,easyui也为们提供了日历的组件,效果如下图所示: 使用方法如下所示: <div class="ea ...

  8. [LeetCode] Unique Binary Search Trees II dfs 深度搜索

    Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...

  9. DOS头结构

    DOS头结构typedef struct _IMAGE_DOS_HEADER {                 // DOS .EXE header   +0h WORD   e_magic;    ...

  10. 【Visual Studio】以管理员的身份运行软件