我在我的VPS有ubuntu和PHP5-fpm的一些问题。
PHP工作正常,但它会抛出终端错误,当我试图重新加载/重新启动/停止它。基本上,我不能停止PHP,因为它不能识别的实例
PHP工作正常,但它会抛出终端错误,当我试图重新加载/重新启动/停止它。基本上,我不能停止PHP,因为它不能识别的实例
它说“reload:Unknown instance:”
如果我尝试“服务PHP5-fpm重新启动”,它是未知的实例,并在日志中给出
[15-Nov-2013 11:56:40] ERROR: An another FPM instance seems to already listen on /var/run/PHP5-fpm.sock [15-Nov-2013 11:56:40] ERROR: FPM initialization Failed [15-Nov-2013 11:56:40] NOTICE: configuration file /etc/PHP5/fpm/PHP-fpm.conf test is successful
我有PHP监听/var/run/PHP5-fpm.sock;
我使用Nginx的webserver和它正确配置
fastcgi_pass unix:/var/run/PHP5-fpm.sock;
(或者我知道)
还需要提一下,这发生在重新启动后。
网站工作很好,但我不认为这是一个好兆头。有什么想法吗 ?
谢谢。
编辑:我的建议在下面的帖子。似乎如果我杀了进程,然后使用开始/停止它工作正常。但是,在我使用reload命令后,它停止recongizing实例。
root@developer2:/# service PHP5-fpm stop stop: Unknown instance: root@developer2:/# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Nov14 ? 00:00:00 init root 1101 1 0 Nov14 ? 00:00:00 /sbin/udevd --daemon root 1168 1 0 Nov14 ? 00:00:00 /usr/sbin/sshd -D root 1227 1 0 Nov14 ? 00:00:00 /usr/sbin/xinetd -dontfork -pidfile /var/run/xinetd.pid -stayalive -inetd_compa root 1229 1 0 Nov14 ? 00:00:00 cron MysqL 1249 1 0 Nov14 ? 00:00:18 /usr/sbin/MysqLd syslog 1283 1 0 Nov14 ? 00:00:00 /sbin/syslogd -u syslog memcache 1293 1 0 Nov14 ? 00:00:07 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 root 1426 1 0 Nov14 ? 00:00:00 /usr/lib/postfix/master postfix 1440 1426 0 Nov14 ? 00:00:00 qmgr -l -t fifo -u root 1468 1 0 Nov14 ? 00:00:00 /usr/sbin/varnishd -P /var/run/varnishd.pid -a :80 -T localhost:6082 -f /etc/va nobody 1469 1468 0 Nov14 ? 00:01:14 /usr/sbin/varnishd -P /var/run/varnishd.pid -a :80 -T localhost:6082 -f /etc/va root 1593 1 0 Nov14 ? 00:00:14 /usr/bin/python /usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock root 1595 1 0 Nov14 ? 00:00:00 /usr/lib/gamin/gam_server www-data 3535 1 0 Nov14 ? 00:00:30 PHP-fpm: pool www postfix 10016 1426 0 11:18 ? 00:00:00 pickup -l -t fifo -u -c root 10064 1168 0 11:37 ? 00:00:00 sshd: root@pts/0 root 10080 10064 0 11:37 pts/0 00:00:00 -bash root 10143 1168 0 11:47 ? 00:00:00 sshd: root@notty root 10159 10143 0 11:47 ? 00:00:00 /usr/lib/openssh/sftp-server root 11330 1 0 12:03 ? 00:00:00 Nginx: master process /usr/sbin/Nginx www-data 11331 11330 0 12:03 ? 00:00:00 Nginx: worker process www-data 11332 11330 0 12:03 ? 00:00:00 Nginx: worker process www-data 11333 11330 0 12:03 ? 00:00:00 Nginx: worker process www-data 11334 11330 0 12:03 ? 00:00:00 Nginx: worker process root 11465 1168 0 12:14 ? 00:00:00 sshd: root@notty root 11481 11465 0 12:14 ? 00:00:00 /usr/lib/openssh/sftp-server root 11519 10080 0 12:23 pts/0 00:00:00 ps -ef root@developer2:/# kill 3535 root@developer2:/# service PHP5-fpm start PHP5-fpm start/running,process 11529 root@developer2:/# service PHP5-fpm stop PHP5-fpm stop/waiting root@developer2:/# service PHP5-fpm start PHP5-fpm start/running,process 11544 root@developer2:/# service PHP5-fpm stop PHP5-fpm stop/waiting root@developer2:/# service PHP5-fpm start PHP5-fpm start/running,process 11559 root@developer2:/# service PHP5-fpm reload root@developer2:/# service PHP5-fpm reload reload: Unknown instance:
编辑2:
我的PHP5似乎创建了3个进程
root 11813 1 1 12:34 ? 00:00:00 PHP-fpm: master process (/etc/PHP5/fpm/PHP-fpm.conf) www-data 11815 11813 0 12:34 ? 00:00:00 PHP-fpm: pool www www-data 11816 11813 0 12:34 ? 00:00:00 PHP-fpm: pool www
当我使用reload功能主进程消失,我不得不手动杀死其他2个进程,以便能够正确地启动它。
这是一个Ubuntu的错误。在/etc/init/PHP5-fpm.conf中,有一个注释掉的行重载信号USR2,它使重载功能通过发送SIGHUP终止PHP5-fpm主进程。任何进一步重新加载,重新启动或
停止将失败,因为主进程已终止。
停止将失败,因为主进程已终止。
我修复这在Ubuntu 14.04通过创建一个文件/etc/init/PHP5-fpm.override与单行reload信号USR2。在this answer年对Jurian Sluiman的评论。
这里是primary bug report,proposed workarounds和confirmation of workaround。
$ ps aux | grep PHP USER PID %cpu %MEM VSZ RSS TTY STAT START TIME COMMAND root 1966 0.0 0.9 473276 37040 ? Ss 10:03 0:00 PHP-fpm: master process (/etc/PHP5/fpm/PHP-fpm.conf) www-data 2009 0.0 1.5 478280 62500 ? S 10:03 0:01 PHP-fpm: pool www www-data 2011 0.0 1.3 476504 55220 ? S 10:03 0:00 PHP-fpm: pool www www-data 2012 0.0 1.6 481592 65840 ? S 10:03 0:00 PHP-fpm: pool www $ sudo service PHP5-fpm status PHP5-fpm start/running,process 1966 $ sudo service PHP5-fpm stop PHP5-fpm stop/waiting $ sudo service PHP5-fpm status PHP5-fpm stop/waiting $ sudo service PHP5-fpm start PHP5-fpm start/running,process 2651 $ sudo service PHP5-fpm status PHP5-fpm start/running,process 2651 $ ps aux | grep PHP USER PID %cpu %MEM VSZ RSS TTY STAT START TIME COMMAND root 2651 0.2 0.9 473276 36996 ? Ss 10:35 0:00 PHP-fpm: master process (/etc/PHP5/fpm/PHP-fpm.conf) www-data 2654 0.0 0.1 473276 7104 ? S 10:35 0:00 PHP-fpm: pool www www-data 2655 0.0 0.1 473276 7104 ? S 10:35 0:00 PHP-fpm: pool www www-data 2656 0.0 0.1 473276 7104 ? S 10:35 0:00 PHP-fpm: pool www