Como recarregar dinamicamente a configuração nginx

4

Atualmente, estou tentando configurar o Nginx para um domínio com etapas de produção, teste e desenvolvimento. Cada um vem com seu próprio arquivo de configuração Nginx parcial com reescritas.

Os estágios de produção e teste são configurados como ramificações de um repositório Git e o recarregamento automático dessas configurações no gancho pós-recebimento do Git. Isso tudo funciona muito bem.

O estágio de desenvolvimento que eu gostaria de transmitir usando o SFTP usando o "SFTP-on-save" do Netbeans, já que não preciso do controle de versão com essa granularidade e é um pouco mais direto. No entanto, aqui eu não tenho o gancho post-receive do git para acionar o Nginx para recarregar a configuração no upload.

No Apache, os arquivos .htaccess seriam carregados apenas dinamicamente. Existe algo semelhante no Nginx e / ou como eu poderia simular isso? Idealmente, uma solução que recarregue os arquivos de configuração apenas e imediatamente quando for alterada.

    
por Martijn 03.11.2012 / 12:40

2 respostas

7

Se você não puder usar um gancho pós-recebimento, talvez você possa usar inotify para observar alterações na configuração do nginx.

Nesse caso, você usaria incrond e incrontab para configurar um relógio em arquivos e ações específicos a serem executados quando esses arquivos forem alterados. Algo parecido com isto no incrontab :

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

Aqui está a página man do incrontab . Você deve encontrar outras documentações e exemplos para usar o conjunto de ferramentas inotify que se ajustará à sua configuração.

    
por 03.11.2012 / 14:51
3

Como cjc disse, inotify e service nginx reload são os comandos que você está procurando.

Confira este post do nixCraft que dá uma ótima explicação sobre como configurar o inotify.

    
por 03.11.2012 / 14:59