IP dinâmico no módulo geográfico NGINX sem reiniciar

1

Eu quero criar uma tarefa na minha implantação do Capistrano para colocar meu IP público na configuração do módulo geo do meu servidor NGINX sem reiniciar o NGINX, é possível? Exemplo, meu /etc/nginx/nginx.conf:

geo $geo {
  default no;
  include /home/deploy_user/appname/shared/ip_list;
} 

O arquivo / home / deploy_user / appname / shared / ip_list será fornecido durante a implementação. Preciso disso porque meu IP público pode mudar muitas vezes.

Atenciosamente, João

    
por joaorvmaia 08.11.2012 / 11:25

1 resposta

1

Como o seu arquivo de configuração está localizado em / etc / nginx, estou assumindo que você está usando algum tipo de sabor baseado no Debian do Linux.

Basicamente, faço backup e substituo o ip_list no momento da implantação com algo parecido com isto:

cd /home/deploy_user/appname/shared/ip_list
mv ip_list ip_list'date +"%Y%m%d%H%M%S"'
cp <path to new ip_list> ip_list

Em seguida, você pode recarregar suas configurações no Nginx sem perder solicitações emitindo:

sudo service nginx reload ou sudo /etc/init.d/nginx reload .

Isso eliminará todos os trabalhadores com a configuração antiga quando eles terminarem e inicializará todos os novos trabalhadores com sua nova configuração. Desta forma você não perderá nenhum pedido

Apenas certifique-se de que você pode executar seu comando com privilégios elevados do Capistrano, já que isso é necessário para recarregar / reiniciar o Nginx.

    
por 08.11.2012 / 12:25