nginx:
nginx是HTTP 服务器,能
捕捉像浏览器这样的Http形式的请求。它本身没有解析或调用脚本语言的功能。
当它监听到请求时,若请求是静态资源则直接响应给终端;若请求是PHP脚本程序,则通过反向代理功能转向
PHP-fpm,php守护进程监听到请求后开始解析,最后将结果
原路返回给nginx,nginx响应给终端。
FastCGI 及通信原理
FastCGI是Http服务器和动态语言之间的通信接口,像nginx,apache,lightHttp都支持FastCGI,同时也支持
好多动态语言,包括PHP。FastCGI在linux下是socket(文件socket 或 IP socket),wrapper是绑定在socket中的
监听程序(守护进程)。当监听到Nginx的CGI请求后,派生出新的线程,此线程调用解析器处理脚本并读取解
析器中的返回数据;接着,通过FastCGI 接口,沿着固定的socket返回给nginx,最后nginx返回给终端。
nginx 是如何转发给php-fpm的呢?
location ~ \.php$ {
root /home/admin/web/nginx/html/;