Пассажир с NginX не зарегистрирован как сервис в Fedora - PullRequest
6 голосов
/ 20 марта 2012

Я использую Fedora 16 32bit и установил пассажира с помощью nginx (вариант 1 во время установки, все было обработано для меня). Установка прошла нормально, но nginx не зарегистрирован как сервис.

Единственный способ запустить его - напрямую через /opt/nginx/sbin/nginx. Нет возможности запустить его через /etc/init.d/nginx

Есть ли способ, как зарегистрировать его как сервис?

Ответы [ 2 ]

5 голосов
/ 05 мая 2012

Создать файл /etc/systemd/system/nginx.service с содержанием:

[Unit]
Description=Nginx
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload

[Install]
WantedBy=multi-user.target

После этого вы можете управлять им с помощью:

sudo systemctl stop|start|restart nginx.service

или

sudo service nginx stop|start|restart

Включитьnginx для запуска при загрузке вы можете запустить sudo systemctl enable nginx.service.

0 голосов
/ 22 мая 2014

Я сделал следующий "хак".Установил только что скомпилированный nginx с поддержкой Passenger, проверил, работает ли он правильно при запуске из командной строки, затем установил nginx с sudo yum install nginx (это был CentOS).

И, наконец, я искал *nginx* файлов в *Папка 1005 * и заменена там /usr/sbin/nginx на /opt/nginx/sbin/nginx.Затем перезагрузил машину и смог запустить nginx с sudo service nginx start.

Конечно, есть более элегантный способ сделать это, но мне лень изучать, как в каждом дистрибутиве Linux зарегистрированы сервисы.

Также я заменил там пути для

  • nginx.conf
  • nginx.pid (${prog}.pid) - иначе он не сможет остановить nginx
...