PHP-FPM
PHP-FPM是一个PHPFastCGI管理器,FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。
它的功能包括:
1.支持平滑停止/启动的高级进程管理功能;
2.可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置);
3.stdout 和 stderr 日志记录;
4.在发生意外情况的时候能够重新启动并缓存被破坏的 opcode;
5.文件上传优化支持;
6.“慢日志” - 记录脚本(不仅记录文件名,还记录 PHP backtrace 信息,可以使用 ptrace或者类似工具读取和分析远程进程的运行数据)运行所导致的异常缓慢;
7.fastcgi_finish_request() - 特殊功能:用于在请求完成和刷新数据后,继续在后台执行耗时的工作(录入视频转换、统计处理等);
8.动态/静态子进程产生;
9.基本 SAPI 运行状态信息(类似Apache的 mod_status);
10.基于 php.ini 的配置文件。
fastcgi相比于cgi:
nginx和php之间的通信:
1.php通过cgi协议解析
2. fastcgi与php-fpm的关系一句话解读:fastcgi只是通信应用协议,php-fpm就是基于这个协议与nginx进行通信。
3. CGI是Common