(estou ciente de que esta não é uma resposta completa, apenas aconselho como solucionar problemas. Mas ajudou, pelo menos, neste caso)
Duplique e triplique se o nginx não está realmente recarregando, mesmo depois de um reinício (o nginx pode estar preso em um estado não íntegro). É fácil erroneamente pensar que o nginx não seria recarregado.
Veja como você pode verificar:
Note que em muitas configurações padrão, o nginx é - diferente do Apache - sem mencionar um recarregamento em seus logs! Por exemplo. no meu Ubuntus, eu só recebo uma reação nos logs se eu aumentar o nível error_log para 'debug'. Portanto, eu recomendo aplicar algumas pequenas e não ambíguas alterações à sua configuração toda vez que você recarregar. Por exemplo. adicione
add_header X-config-version 0001;
e incrementá-lo antes de cada recarga. Você pode então verificar que a configuração da bruxa que o nginx está usando via
curl -s -I $URL | grep X-config-version
Além disso, verifique a sintaxe de configuração antes de cada tentativa de recarregamento (sim, nginx deve fornecer uma mensagem de erro adequada ao tentar recarregar uma configuração incorreta. Mas ainda assim, você deseja excluir essa causa possível) :
$PATH_TO/nginx -t
Agora teste a recarga. Para ter certeza, evite os scripts fornecidos pelo sistema operacional (/etc/init.d/nginx, service / invoke-rc.d / reload, ...) e tente os dois métodos oficiais :
$PATH_TO/nginx -s reload
e / ou
kill -HUP $PID_OF_NGINX_MASTER_PROCESS
por exemplo,
kill -HUP 'cat /var/run/nginx.pid'
Se você já provou que o nginx está realmente reiniciando mas não está recarregando, então ... pingue-me e eu tentarei ajudar na resolução de problemas: -)