PHP中重启php-fpm的几种方法汇总

在开发中,PHP中的fpm进程管理器常常会有需要进行重启的情况,例如php.ini配置文件修改、设计的PHP程序需要重新载入等。本文旨在总结几种常见的PHP中重启php-fpm的方法。

1.通过kill命令重启php-fpm进程

通过kill命令来重启PHP-FPM进程池,通过以下命令,会先向 master 进程发送 TERM 信号,然后向 worker 进程发送 QUIT 信号,期望进程安全退出。如果进程无法正常退出,可以使用 kill -9 强制杀死进程,但这么做会造成资源浪费、数据错误等问题,请谨慎使用:

1.1 优雅的重启php-fpm

```shell

sudo /usr/sbin/service php7.2-fpm restart #php7.2-fpm改成你自己的php-fpm服务名

```

1.2 查找php-fpm master进程ID

```shell

pgrep -u www php-fpm

```

该命令可以找到用户 www 运行 php-fpm 的 master 进程 ID,如果有结果,将显示 master 进程的 ID 列表,如下所示:

2129

1.3 重启php-fpm master进程

```shell

kill -USR2 2129

```

执行完这个命令后,会将 php-fpm master 进程优雅地重启,让 PHP-FPM 重新读取所有配置和源代码。

2.通过systemctl命令重启php-fpm服务

systemctl 命令是 Linux 系统中专门用来管理系统服务的一种工具,这里可以通过 systemctl restart php-fpm 命令来重启 php-fpm 服务,使用方法如下:

2.1 重启php-fpm服务

```shell

sudo systemctl restart php-fpm.service #php-fpm.service改成你自己的php-fpm服务名

```

3.通过php-fpm命令重启php-fpm进程

PHP-FPM 还提供了一种命令行操作工具,通过这个工具可以在命令行中重启 PHP-FPM,执行以下命令,即可重启 PHP-FPM:

3.1 重启PHP-FPM服务

```shell

sudo php-fpm -y /usr/local/php/etc/php-fpm.conf #php-fpm.conf改成你自己的php-fpm配置文件名

```

3.2 向PHP-FPM服务发送重新载入配置文件信号

```shell

sudo php-fpm -t && sudo systemctl reload php-fpm

```

使用上述命令,会首先使用 sudo php-fpm -t 命令来测试配置,然后会向 PHP-FPM 服务的 master 进程发送重新载入配置文件的信号,从而达到重启 PHP-FPM 的目的。

小结

本文列举了三种常见的方法来重启 PHP-FPM 进程,对开发人员在开发过程中的调试与生产环境部署中的 PHP-FPM 进程管理提供了帮助。

后端开发标签