Демон nginx и остановить не в состоянии

У меня есть сервер Ubuntu 11.04 i386 с установленным nginx 1.0.11. Кроме того, я использую это init.D скрипт, единственный, который я нашел в нескольких разных местах. Он запускает сервер красиво, однако, при остановке / сбросе он говорит

* Stopping Nginx Server...      [fail]

конечно, демон не остановлен, и при перезапуске конфигурация не перезагружается.

Как я могу это исправить?

5 ответов


вполне вероятно, что он не может убить процесс.

откройте скрипт nginx, расположенный в /etc/??.d / nginx и найти, где nginx.пид считается. Это будет что-то вроде "/var/run/nginx.ПИД."

если файла pid нет, откройте nginx.conf и найдите настройку pid. Если это несоответствие-установите значение conf туда, где, по мнению скрипта, оно должно быть, например

# pid of nginx process
pid /var/run/nginx.pid;

sudo service nginx restart даст вам что-то вроде этого:

Stopping nginx:                                            [FAILED]
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

затем убить процесс вручную их порт:

sudo fuser -k 80/tcp (или использовать любой порт, который вы используете)

в качестве альтернативы, убить процессы по их ID:

ps -ef |grep nginx
kill <pid>

попробуйте эту команду:

sudo fuser -k 80/tcp

я столкнулся с аналогичными проблемами.

обычно я использую apache / apache2.

вам может помочь следующее:

sudo nginx -s stop | ps -ef | grep nginx | awk {'print '} | xargs sudo kill -9 | sudo service apache2 start

для документов, пожалуйста, обратитесь к этому Github Gist


вот сценарий инициализации nginx, который я изменил (на основе устаревшего официальный скрипт), который работает со многими дистрибутивами на основе debian, включая Ubuntu 11.04:

https://github.com/hulihanapplications/nginx-init-debian

Это работает довольно хорошо на моих серверах ubuntu. Надеюсь, это поможет.