我正在运行 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 启动脚本之一?
谢谢。
因此,将其设置为开机自启动:
我刚刚在 Ubuntu 16.04 上遇到了这个问题,我在这里留下我的答案,以供 Google 的未来用户偶然发现这个问题。由于
chkconfig
主要针对 CentOS,它显然不存在于 Ubuntu 上。显然,要让定制的 PHP (php-fpm
SAPI) 在启动时启动systemd
,这是 Ubuntu 16.04(以前的 Upstart)的新功能,它需要在系统中注册,而不仅仅是将init.d
脚本放入/etc/init.d/
. 为了注册脚本,我运行了:A
reboot
和随后的ps aux
确认php-fpm
确实是在启动时开始的。它也被添加到/etc/init.d/.depend.start
.其他想法:Ubuntu Upstart 足够好,所以我
update-rc.d
在放置 init.d 脚本后再也不必运行了——它就可以工作。完全忘记了那个命令。从 CentOS 7 开始,您只需通过 systemctl 启用服务:
您可以通过以下方式检查它是否正在运行: