Добавить nginx в качестве остановки службы Ubuntu и перезагрузить не работает

Мой nginx был скомпилирован из исходников, только поставьте флаг, что --conf-path=/etc/nginx/nginx.conf

Все работает, и я пытался использовать этот скрипт службы init.d, чтобы сделать nginx системная служба,

Вот скрипт, в который я внес всего 2 незначительных изменения:

1. DAEMON=/usr/local/nginx/sbin/nginx

2.NGINX_CONF_FILE="/etc/nginx/nginx.conf"

затем запустить службу sudo nginx

оно работает

yozloy@SNDA-172-17-10-158:/usr/local$ sudo service nginx start
 * Starting Nginx Server...
   ...done

.

но сервис nginx останавливается и сервис nginx перезагружается

дайте мне ошибку

yozloy@SNDA-172-17-10-158:/usr/local$ sudo service nginx stop
 * Stopping Nginx Server...
   ...fail!

и ошибка не появляется в файле log/error.log


person mko    schedule 07.06.2012    source источник


Ответы (1)


У меня были аналогичные проблемы с Nginx в Ubuntu 12.04, когда nginx компилировался из исходного кода, а скрипт инициализации брался из того же источника, что и ваш.

Служба запустилась хорошо с файлом инициализации, но не остановилась или перезапустилась. В итоге причиной стал разный путь к pid файлу в nginx.conf и скрипте инициализации. Убедитесь, что они оба указывают на одно и то же место.

person capsized    schedule 23.07.2012
comment
спасибо за ответ давно ждал. Не могли бы вы объяснить более подробно, чтобы сделать то, что позволяет им указывать на одно и то же место? - person mko; 24.07.2012
comment
@yozloy в вашем файле nginx.conf вы найдете строку pid /tmp/nginx.pid; вы должны использовать этот каталог и изменить расположение сценария инициализации файла pid для каждого действия в вашем сценарии инициализации. - person Philip; 08.10.2012
comment
Для ситуаций, когда остановка/перезапуск периодически терпят неудачу (часто удаляется файл PID, но процессы, включая главный, не умирают), см. этот ответ. - person Ville; 30.12.2015