您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

nginx与php-fpm的关系

2024/8/22 8:50:20发布72次查看
php-fpm就是fastcgi进程管理器(推荐学习:web前端视频教程)
1、web server启动时载入fastcgi进程管理器(iis isapi或apache module)
2、fastcgi进程管理器自身初始化,启动多个cgi解释器进程(可见多个php-cgi)并等待来自web server的连接。
3、当客户端请求到达web server时,fastcgi进程管理器选择并连接到一个cgi解释器。web server将cgi环境变量和标准输入发送到fastcgi子进程php-cgi。
4、fastcgi子进程完成处理后将标准输出和错误信息从同一连接返回web server。当fastcgi子进程关闭连接时,请求便告处理完成。fastcgi子进程接着等待并处理来自fastcgi进程管理器(运行在web server中)的下一个连接。 在cgi模式中,php-cgi在此便退出了。
在上述情况中,你可以想象cgi通常有多慢。每一个web请求php都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构。使用fastcgi,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(persistent database connection)可以工作。
fastcgi 是一个协议,它是应用程序和web服务器连接的桥梁。nginx并不能直接与php-fpm通信,而是将请求通过fastcgi交给php-fpm处理。
location ~ \.php$ { try_files $uri /index.php =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; fastcgi_param script_filename $document_root$fastcgi_script_name; include fastcgi_params;}
这里 fastcgi_pass 就是把所有 php 请求转发给 php-fpm 进行处理。通过 netstat 命令可以看到,127.0.0.1:9000 这个端口上运行的进程就是 php-fpm。
以上就是nginx与php-fpm的关系的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product