php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看這種老掉牙的命令了,需要使用信號控制:
master進程可以理解以下信號
INT, TERM 立刻終止
QUIT 平滑終止
USR1 重新打開日志文件
USR2 平滑重載所有worker進程并重新載入配置和二進制模塊
方案一:
先查看php-fpm的master進程號
# ps aux|grep php-fpm
root 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 grep --color=auto php-fpm
root 42891 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody 42892 0.0 0.6 183000 6516 ? S 4月18 0:07 php-fpm: pool www
nobody 42893 0.0 0.6 183000 6508 ? S 4月18 0:17 php-fpm: pool www
重啟php-fpm
kill -USR2 42891
方案二
上面方案一般是沒有生成php-fpm.pid文件時使用等孵,如果要生成php-fpm.pid影兽,使用下面這種方案:
上面master進程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf這個配置文件舰始,cat /usr/local/php/etc/php-fpm.conf 發(fā)現(xiàn):
[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
;pid = run/php-fpm.pid
pid文件路徑應(yīng)該位于/usr/local/php/var/run/php-fpm.pid崇棠,由于注釋掉,所以沒有生成丸卷,我們把注釋去除枕稀,再kill -USR2 42891 重啟php-fpm,便會生成pid文件,下次就可以使用以下命令重啟,關(guān)閉php-fpm了:
php-fpm 關(guān)閉:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
php-fpm 重啟:
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'