Я думал, что это было легко, но это не кажется.
Вот моя информация о системе:
# nginx -v
nginx version: nginx/1.8.0
# uname -a
Linux ip-10-0-0-247 3.2.0-69-virtual #103-Ubuntu SMP Tue Sep 2 05:21:29 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
И вот мои различные попытки остановки NginX:
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1743/nginx -g daemo
# service nginx stop
nginx start/running, process 1775
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1775/nginx -g daemo
# nginx -s stop
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1783/nginx -g daemo
# nginx -s quit
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1791/nginx -g daemo
# initctl stop nginx
nginx start/running, process 1830
# netstat -punta | grep nginx
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1830/nginx -g daemo
Как замечено выше, Каждый раз, когда я пытаюсь остановить услуги NginX, они оживают с новым PID. Обращение за помощью для остановки услуг NginX корректно.
Согласно этот ответ существует несовместимость между nginx.conf файлом и init сценарием, который управляет всеми 'сервисными' действиями.
строка pid /tmp/nginx.pid;
должна появиться в Вашем /etc/nginx/nginx.conf
файл. Эта строка должна быть скопирована во все действия в рамках сценария в /etc/init.d/nginx
везде, где существует ссылка на pid Затем, действия вершины/перезагрузки/перезапуска должны все работать.
Попробуйте это:
sudo kill $(pgrep nginx)
, если не работают, пробуют
sudo pkill nginx
, если не работают, пробуют поиск PID сервиса:
ps aux | grep nginx
Затем уничтожают PID:
sudo kill -9 PID