centos7 php7.4 php-fpm 重启

PHP·Linux · 2023-07-14

装一网站,需要配置php-fpm,我经常开发,却不常运维,很是头大。
当前环境centos7+php7.4+nginx。
安装zip依赖后,需要重启下。

重启方法

master进程可以理解以下信号:

  • INT, TERM 立刻终止
  • QUIT 平滑终止
  • USR1 重新打开日志文件
  • USR2 平滑重载所有worker进程并重新载入配置和二进制模块

方法一

  1. 先查看php-fpm的master进程id:
    ps aux | grep php-fpm | grep master | grep -v grep
  2. 再重启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

Linux改动php.ini后如何重启php-fpm
Centos7下的php-fpm系统服务脚本

php-fpm优化 php-fpm重启
Theme Jasmine by Kent Liao