重启后 PHP-FPM 不会自动启动

重启后 PHP-FPM 不会自动启动

我正在运行 PHP-FPM 和 Nginx,有时,出于某种原因,我必须重新启动服务器。一旦服务器再次运行,nginx 服务就会自动启动,但 PHP-FPM 不会启动。当我在sudo /etc/init.d/php-fpm restart重新启动后立即运行命令并得到结果时,可以看到这一点:

$ sudo /etc/init.d/php-fpm restart
Stopping php-fpm:                                          [FAILED]
Starting php-fpm:                                          [  OK  ]

这是预期的行为吗?使 PHP-FPM 自动启动的最佳方法是什么?是否有任何配置选项,或者我必须将命令添加到 Linux 启动脚本之一中?

谢谢。

答案1

因此将其设置为在启动时启动:

chkconfig php-fpm on

答案2

我刚刚在 Ubuntu 16.04 上遇到了这个问题,我将我的答案留在这里,以便将来偶然遇到此问题的 Google 用户使用。由于chkconfig主要是 CentOS 特有的,因此显然在 Ubuntu 上不存在。显然,要让自定义的 PHP(php-fpmSAPI)在启动时启动systemd,这是 Ubuntu 16.04(以前称为 Upstart)的新功能,它需要在系统中注册,而不仅仅是将脚本放入init.d/etc/init.d/要注册脚本,我运行:

update-rc.d php-fpm defaults

随后reboot确认ps aux确实php-fpm在启动时启动。它还被添加到/etc/init.d/.depend.start

update-rc.d其他想法:Ubuntu Upstart 非常好,所以我放置 init.d 脚本后就无需运行- 它就可以正常工作。完全忘记了那个命令。

答案3

从 CentOS 7 开始,你只需要通过 systemctl 启用服务:

systemctl enable php-fpm

您可以通过以下方式检查它是否正在运行:

systemctl status php-fpm

答案4

您可以向.bashrc启动脚本添加一些命令:

打开.bashrc

nano .bashrc

粘贴一些启动时运行的命令:

(检查哪些命令适合你)

# Start fpm-services
sudo /etc/init.d/php-fpm start
sudo /etc/init.d/php8.3-fpm start
sudo /etc/init.d/php8.2-fpm start
sudo /etc/init.d/php8.1-fpm start
sudo /etc/init.d/php8.0-fpm start
sudo /etc/init.d/php7.4-fpm start

相关内容