За свою карьеру я собрал большой багаж опыта работы с веб-сервером Nginx и некоторые моменты освещал в данном блоге. Для навигации по теме используйте страницу Nginx 101
Во всех инструкциях и мануалах, которые я когда-либо читал по веб-серверу Nginx, для перезагрузки демона, а также применения новых конфигов, всегда использовались системные инструменты, например service
в Debian или systemctl
в CentOS. И только недавно я случайным образом узнал простой секрет.
При настройке Nginx приходится очень часто изменять конфиги и перезапускать его, чтобы новая конфигурация применилась. Перезапускать веб-сервер полностью, чтобы применить новую конфигурацию необязательно. Поэтому в таких случаях, вместо restart
можно использовать reload
. Но секрет в том, что для того чтобы выполнить reload
не нужны системные средства управления демоном. У Nginx есть для этого встроенная команда:
Ошибиться в двух словах сложнее чем в трех, или, например, при наборе systemctl restart nginx.service
.
И при этом данная конструкция универсальна для всех операционных систем, так как функциональность предоставляется самим веб-сервером. Вызывая исполняемый файл с параметром -s можно выполнять и другие операции.
Где signal может быть одним из нижеследующих:
- stop — быстрое завершение
- quit — плавное завершение
- reload — перезагрузка конфигурационного файла
- reopen — переоткрытие лог-файлов