vps

phpfp,phpfpm

配置php的fpm老出错,我还看不懂,怎么报错的啊

多次修改修改无果后,开始自己查找此错误:证明php-fpm服务已经启动了,但是未知原因php-fpm把链接中断了。怀疑是底层tcp链接问题,使用netstat -s | grep reject,未发现异常链接。

原因是php-fpm的配置文件php-fpm.conf中默认是关闭worker进程的错误输出,直接把他们重定向到/dev/null,所以我们在nginx的error log 和php-fpm的errorlog都看不到php的错误日志。调试起来就很痛苦了。

大概是因为程序有bug吧,建议改一下代码。

php-fpm 进程数不够用使用netstat -napo |grep php-fpm | wc -l 查看一下当前 fastcgi 进程个数,如果个数接近 conf 里配置的上限,就需要调高进程数。

php-fpm有两种listen方式,一种是通过端口来操作,一种是sock文件。

检查配置 看看shell配置里有没有 ulimit -c 0 这种类似的关闭的操作,例如 HOME/.bash_profile 或者 $HOME/.bashrc 之类的,如果有,注释掉。

什么是CGI,FastCGI,PHP-CGI,PHP-FPM,Spawn-FCGI

1、(PHP-FPM和Spawn-FCGI就没有这个问题,守护进程会平滑从新生成新的子进程。

2、cgi - 通用网关接口,就是外部应用程序(cgi程序)与web服务器之间的接口标准。

3、fastcgi是一个通用网关接口,用于web服务器(iis, apache)和应用程序通信。

4、综上,如果对性能有极高的要求,可以将静态请求和动态请求分开,这时 Nginx + php-fpm 是比较好的选择。PS: cgi、fastcgi 通常指 Web 服务器与解释器通信的协议规范,而 php-fpm 是 fastcgi 协议的一个实现。

5、直接杀死php-cgi进程,php就不能运行了。(PHP-FPM和Spawn-FCGI就没有这个问题,守护进程会平滑从新生成新的子进程。

未经允许不得转载:便宜VPS网 - 便宜VPS_香港VPS_美国VPS主机 » phpfp,phpfpm