Перезапустить nginx кожно выполнив nginx -s reload, перед этим нужно тестировать корректность конфигурационных файлов
Перед перезапуском веб-сервера nginx всегда имеет смысл тестировать корректность конфигурационных файлов, при наличии ошибок nginx может не запуститься, что вызовет неработоспособность сайта или сервиса, который обслуживает веб-сервер.
Как протестировать конфигурацию и перезапустить nginx
Проверить правильность синтаксиса конфигурационных файлов можно выполнив следующую команду
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Результат приведен на скриншоте:
При положительном результате в выводе будет приведенное выше сообщение или Syntax OK в зависимости от версии пакета. Если найдены ошибки выведутся названия файлов и строки на которых ошибки обнаружены.
Похожим образом тестируется конфигурация Apache (apache2ctl -t)
После тестирования серверу необходимо дать команду на перечитывание конфигурационных файлов (опция -s обозначает signal, серверу можно отправить множество сигналом, но чаще всего это reload, stop и start)
nginx -s reload
Если ошибки все же есть и конфиги предварительно не тестировались nginx -s reload перезапустит nginx только в случае если к остановке веб-сервера это не приведет, т.е. если серьезных ошибок в конфигурации нет
Чтобы выполнить полную перезагрузку необходимо выполнить
/etc/init.d/nginx restart
либо через systemctl, более современный способ управления сервисами
systemctl restart nginx
Конфигурационные файлы при этом не тестируются. Выполнение команды необходимо при внесении каких-либо существенных изменений когда простого reload недостаточно.
Если Nginx по какой-то причине не останавливается (т.е. после выполнения /etc/init.d/nginx stop в выводе ps aux | grep nginx остаются процессы) процессы требуется завершить вручную, затем запустить Nginx.
Такое бывает если пакет собирался из исходников и для него не написаны инициализационные скрипты.
pkill nginx
/usr/sbin/nginx
Здесь /usr/sbin/nginx это стандартный полный путь к бинарному файлу nginx, бинарный файл может находиться в другом месте. Откуда запущен процесс можно увидеть выполнив ps auxf| grep nginx перед завершением процесса.
При работе в нагруженных проектах, обслуживающих сайты с высокой посещаемостью NGINX конфигурируют специальным образом, что дает максимальную производительность. Для небольших проектов выполнить такие настройки тоже может оказаться полезно.