nginx + php的运行原理是什么

  介绍

这篇文章给大家介绍nginx + php的运行原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。


首先简单的讲一讲原理,目前主流的nginx + php的运行原理如下:

1, nginx的工人进程直接管理每一个请求到nginx的网络请求。

2,对于php而言,由于在整个网络请求的过程中php是一个cgi程序的角色,所以采用名为php-fpm的进程管理程序来对这些被请求的php程序进行管理.php-fpm程序也如同nginx一样,需要监听端口,并且有大师和工人进程.worker进程直接管理每一个php进程。

3,关于fastcgi: fastcgi是一种进程管理器、管理cgi进程。市面上有多种实现了fastcgi功能的进程管理器,php-fpm就是其中的一种。再提一点,php-fpm作为一种fast-cgi进程管理服务,会监听端口,一般默认监听9000端口,并且是监听本机,也就是只接收来自本机的端口请求,所以我们通常输入命令netstat -nlpt | grep php-fpm会得到:

<代码> tcp 0 0 127.0.0.1:9000 0.0.0.0: * 1057/php-fpm听

这里的127.0.0.1:9000就是监听本端机9000口的意思。

4,关于fastcgi的配置文件,目前fastcgi的配置文件一般放在nginx.conf同级目录下,配置文件形式,一般有两种:fastcgi。配置和fastcgi_params。不同的nginx版本会有不同的配置文件,这两个配置文件有一个非常重要的区别:fastcgi_parames文件中缺少下列配置:

<代码> fastcgi_param SCRIPT_FILENAME document_root fastcgi_script_name美元;

我们可以打开fastcgi_parames文件加上上述行,也可以在要使用配置的地方动态添加。使得该配置生效。

5,当需要处理php请求时,nginx的工人进程会将请求移交给php-fpm的工人进程进行处理,也就是最开头所说的nginx调用了php,其实严格得讲是nginx间接调用php。
了解了上面的这五个简单原理,在nginx中配置php调用方法就变得易如反掌。

二,配置文件:

直接贴上代码逐行进行讲解,此处贴出一个能正常启动php脚本的最简nginx vhost配置:

 

关于nginx + php的运行原理是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

nginx + php的运行原理是什么