php-fpm是PHP的一个进程管理器。通过上面的命令,可以看出php-fpm作为master进程,下面有15个子进程。当该值设置过大,导致php-fpm处理不过来,nginx那边等待超时,断开连接,报504 gateway timeout错。同时php-fpm处理完准备write 数据给nginx时,发现TCP连接断开了,报“Broken pipe”。所以,这还得去根据php-fpm的QPS来决定backlog的大小。php-fpm以socket启动或者端口启动,这两种的方式根据实际情况进行配置。nginx和php-fpm在同一台服务器上,这时可以直接用unix socket进程间通信,不走tcp端口通信,可以节约创建连接的时间,从而提高性能。socket文件是根据上面提到的pid配置项而定的。当我们尝试设置为3时,显示如下错误信息。我们设置为最小10,结果就能正常启动php-fpm了。
暂无评论