啟動 php-fpm 最簡單的操作:
/usr/local/php/sbin/php-fpm
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進程號
[root@test ~]# ps -ef|grep php-fpm root 27556 1 0 15:57 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) www 27557 27556 0 15:57 ? 00:00:00 php-fpm: pool www www 27558 27556 0 15:57 ? 00:00:00 php-fpm: pool www www 27559 27556 0 15:57 ? 00:00:00 php-fpm: pool www www 27560 27556 0 15:57 ? 00:00:00 php-fpm: pool www root 27733 26938 0 16:35 pts/0 00:00:00 grep php-fpm
重啟 php-fpm:
kill -USR2 27556
這樣就OK了。
上面方案一般是沒有生成php-fpm.pid文件時使用,如果要生成php-fpm.pid,使用下面這種方案:
上面master進程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf這個配置文件,cat /usr/local/php/etc/php-fpm.conf 發現:
[global] ; Pid file ; Note: the default prefix is /usr/local/php/var ; Default Value: none ;pid = run/php-fpm.pid
pid文件路徑應該位於/usr/local/php/var/run/php-fpm.pid,由於注釋掉,所以沒有生成,我們把注釋去除,再kill -USR2 42891 重啟php-fpm,便會生成pid文件,下次就可以使用以下命令重啟,關閉php-fpm了:
php-fpm 關閉:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
php-fpm 重啟:
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'