Назад | Перейти на главную страницу

Как динамически перезагрузить конфигурацию nginx

В настоящее время я пытаюсь настроить Nginx для домена с этапами производства, тестирования и разработки. Каждый поставляется со своим собственным частичным файлом конфигурации Nginx с перезаписью.

Этапы производства и тестирования настраиваются как ответвления из репозитория Git и автоматической перезагрузки этих конфигураций в обработчике Git post-receive. Все это прекрасно работает.

Стадия разработки, которую я хотел бы передать, используя SFTP, используя Netbeans «SFTP-on-save», поскольку мне не нужен контроль версий на этой степени детализации, и он немного более прямой. Однако здесь у меня нет такой вещи, как обработчик post-receive git, который запускал бы Nginx для перезагрузки конфигурации при загрузке.

В Apache файлы .htaccess загружались бы просто динамически. Есть ли что-нибудь подобное в Nginx и / или как это смоделировать? В идеале решение, которое перезагружает только файлы конфигурации и сразу после изменения.

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

В этом случае вы должны использовать incrond и incrontab для настройки отслеживания указанных файлов и действий, предпринимаемых при их изменении. Что-то вроде этого в incrontab:

/etc/nginx/nginx.conf IN_MODIFY /etc/init.d/nginx reload

Вот страница руководства для incrontab. У вас должна быть возможность найти другую документацию и примеры использования inotify набор инструментов, который будет соответствовать вашей конфигурации.

Как сказал cjc, inotify и service nginx reload команды, которые вы ищете.

Проверять, выписываться это сообщение от nixCraft который дает отличное объяснение того, как настроить inotify.