Я выпустил остановку nginx -s, после чего я получил эту ошибку при попытке перезагрузить ее.
[error]: неверный номер PID "в" /var/run/nginx.pid"
Этот файл /var/run/nginx/pid пуст atm.
Что мне нужно сделать, чтобы исправить это?
Я выпустил остановку nginx -s, после чего я получил эту ошибку при попытке перезагрузить ее.
[error]: неверный номер PID "в" /var/run/nginx.pid"
Этот файл /var/run/nginx/pid пуст atm.
Что мне нужно сделать, чтобы исправить это?
nginx -s reload используется только для того, чтобы сообщить запущенному процессу nginx перезагрузить его конфигурацию. После остановки у вас нет процесса nginx для отправки сигнала. Просто запустите nginx (возможно, с -c/path/to/config/file)
в моем случае я решил это, запустив службу.
sudo/etc/init.d/nginx start
Приведенная выше команда запустит службу в Debian/Ubuntu. Он выдает ошибку, если есть какие-либо проблемы (например, прослушивание Apache в одном и том же порту)
После этого перезагрузка nginx будет работать как шарм
В последней версии (1.2.0), которую я загрузил, нет опции "-s start", она скажет: nginx: неверная опция: "-s start"
Вы можете запустить nginx с помощью
sudo /etc/nginx/sbin/nginx
Сервер будет запущен, и тогда не будет никаких ошибок недопустимого числа pid.
В моем случае nginx был остановлен (разбился, я предполагаю). Решил проблему:
service nginx status
nginx stop/waiting
service nginx start
nginx start/running, process 3535
Затем nginx -s reload работал как шарм.
Я использую nginx/1.8.0 для надежного.
Чтобы избежать простоев с перезапуском nginx,
ps aux | grep nginx
PID of nginx master process
echo PID > /var/run/nginx.pid
nginx -s reload
Это позволит устранить проблему на ubuntu 16.04 и выше
sudo service nginx stop
sudo service nginx start
ps -eaf|grep nginx # confirm its running
sudo nginx -t && sudo nginx -s reload # confirm config is OK
# typical output
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful
sudo service nginx stop # issue stop
ps -eaf|grep nginx # confirm it actually stopped
теперь здравомыслие было восстановлено, и вы можете бесплатно запустить по своему усмотрению