В настоящее время я пытаюсь настроить 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.