Приложение как служба на Centos 7

Я подозреваю (у меня нет окна Ubuntu для проверки), что проблема связана с разницей между php-cgi и прямым php, используемым в командной строке. Похоже, что Ubuntu использует phpX-cgi при установке стека LAMP. Версия cgi использует файл php.ini, и это может еще больше усложнить ситуацию, поскольку изменит путь к cwd.

1
26.08.2016, 19:58
1 ответ

Чтобы запускать что-то при запуске в CentOS 7, Fedora и последних версиях Ubuntu, вам необходимо создать модуль systemd . В вашем вопросе есть устаревший сценарий инициализации, который больше не нужен.

Простой единичный файл может выглядеть так:

[Service]
Type=simple
ExecStart=/bin/myservice

[Install]
WantedBy=multi-user.target

Если предположить, что / bin / myservice работает на переднем плане, приведенное выше - действительно все, что вам нужно. Вы поместите это в /etc/systemd/system/myservice.service , если вы просто настраиваете что-то в своей собственной системе, или в /usr/lib/systemd/system/myservice.service , если вы создаете пакет для распространения, а затем:

  1. Чтобы немедленно запустить службу: systemctl start myservice
  2. Чтобы отметить службу для автоматического запуска при следующей загрузке: systemctl enable myservice

Такие инструменты, как chkconfig и update-rc.d , являются устаревшими инструментами, которые не нужны в средах, работающих под управлением systemd.

4
27.01.2020, 23:19

Теги

Похожие вопросы