Проверка конфигурации и перезапуск nginx

  • Михаил
  • 8 мин. на прочтение
  • 82
  • 25 May 2023
  • 25 May 2023

Перед перезапуском веб-сервера nginx всегда имеет смысл тестировать корректность конфигурационных файлов, при наличии ошибок nginx может не запуститься, что вызовет неработоспособность сайта или сервиса, который обслуживает веб-сервер.

Как протестировать конфигурацию nginx

Проверить правильность синтаксиса конфигурационных файлов можно выполнив следующую команду

nginx -t

При положительном результате в выводе будет приведенное выше сообщение или Syntax OK в зависимости от версии пакета. Если найдены ошибки выведутся названия файлов и строки на которых ошибки обнаружены.

Если ошибки все же есть и конфигурации предварительно не тестировались nginx -s reload перезапустит nginx только в случае если к остановке веб-сервера это не приведет, т.е. если серьезных ошибок в конфигурации нет. Необходимо исправить все ошибки, до получения положительного ответа.

После тестирования серверу необходимо дать команду на перечитывание конфигурационных файлов (опция -s обозначает signal, серверу можно отправить множество сигналом, но чаще всего это reload, stop и start)

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 перед завершением процесса