装一网站,需要配置php-fpm,我经常开发,却不常运维,很是头大。
当前环境centos7+php7.4+nginx。
安装zip依赖后,需要重启下。
重启方法
master进程可以理解以下信号:
- INT, TERM 立刻终止
- QUIT 平滑终止
- USR1 重新打开日志文件
- USR2 平滑重载所有worker进程并重新载入配置和二进制模块
方法一
- 先查看php-fpm的master进程id:
ps aux | grep php-fpm | grep master | grep -v grep
- 再重启php-fpm:
kill -USR2 master进程id
方法二
上面master进程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf(可能有的是/etc/php5/fpm/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 master进程id重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:
添加到系统服务
创建文件 php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=simple
PIDFILE=/var/run/php-fpm.pid
ExecStartPre=/usr/bin/rm -f $PIDFILE
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecRestart=/bin/kill -USR2 $PIDFILE
ExecStop=/bin/kill -SIGINT $PIDFILE
[Install]
WantedBy=multi-user.target
复制到这个位置 cp php-fpm.service /etc/systemd/system/php-fpm.service
开机启动
systemctl enable php-fpm.service