php和nginx交互实例讲解

yipeiwu_com6年前PHP代码库

Nginx与PHP交互过程的7步走(用户对动态PHP网页访问过程)

  1. step1:用户将http请求发送给nginx服务器(用户和nginx服务器进行三次握手进行TCP连接)。
  2. step2:nginx会根据用户访问的URL和后缀对请求进行判断。
  3. step3:通过第二步可以看出,用户请求的是动态内容,nginx会将请求交给fastcgi客户端,通过fastcgi_pass将用户的请求发送给php-fpm。如果用户访问的是静态资源呢,那就简单了,nginx直接将用户请求的静态资源返回给用户。
  4. step4:fastcgi_pass将动态资源交给php-fpm后,php-fpm会将资源转给php脚本解析服务器的wrapper。
  5. step5:wrapper收到php-fpm转过来的请求后,wrapper会生成一个新的线程调用php动态程序解析服务器。
  6. step6:php会将查询到的结果返回给nginx。
  7. step7:nginx构造一个响应报文将结果返回给用户。

这只是nginx的其中一种,用户请求的和返回用户请求结果是异步进行,即为用户请求的资源在nginx中做了一次中转,nginx可以同步,即为解析出来的资源,服务器直接将资源返回给用户,不用在nginx中做一次中转。

即:Nginx -> FastCGI -> php-fpm -> FastCGI Wrapper -> php解析器

以上7个就是交互的简单步骤,感谢大家的学习和对【宜配屋www.yipeiwu.com】的支持。

相关文章

PHP守护进程的两种常见实现方式详解

本文实例讲述了PHP守护进程的两种常见实现方式。分享给大家供大家参考,具体如下: 第一种方式,借助 nohup 和 &  配合使用。 在命令后面加上 & 符号, 可以让启动的进...

PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器完整实例

本文实例讲述了PHP栈的定义、入栈出栈方法及基于堆栈实现的计算器。分享给大家供大家参考,具体如下: 栈是线性表的一种,他的特点是后入先出,可以这么理解,栈就像一个存东西的盒子,先放进去的...

PHP中数组定义的几种方法

Array 数组 PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列...

PHP Zip压缩 在线对文件进行压缩的函数

复制代码 代码如下: /* creates a compressed zip file */ function create_zip($files = array(),$destinat...

php 代码优化的42条建议 推荐

1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。 2.echo 比 print 快。 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行fo...