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?

Благодарю.

2 ответа

Решение

Так что настройте его для запуска при загрузке:

chkconfig php-fpm on

Я столкнулся с этой самой проблемой в Ubuntu 16.04, и я оставляю здесь свой ответ для будущих пользователей Google, которые сталкиваются с проблемой. поскольку chkconfig в основном специфичен для CentOS, он явно не существует в Ubuntu. Видимо, чтобы получить специальный PHP (php-fpm SAPI) для запуска при загрузке под 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,

Другие мысли: Ubuntu Upstart был достаточно хорош, так что мне никогда не приходилось бегать update-rc.d после размещения скрипта init.d - все заработало. Полностью забыл об этой команде.

Начиная с CentOS 7 вам просто нужно включить службы через systemctl:

systemctl enable php-fpm

Вы можете проверить, работает ли он позже, с помощью:

systemctl status php-fpm
Другие вопросы по тегам