Depois de editar os arquivos de configuração, eu os reinicio assim no OpenBSD:
kill -HUP 'cat /var/run/nginx.pid' && date && sleep 1 && \
tail -2 /var/www/logs/error.log ; date
O sinal HUP
faz com que ele leia novamente seus arquivos de configuração, o tail
mostra se algum erro foi encontrado, o date
coloca esses erros no contexto (ocorreu um erro apenas se o tempo de date
corresponde à hora do log), e sleep 1
garante que não há condições de corrida entre a leitura do log antes de o nginx ter tido tempo para escrever nele.
É assim que parece:
Cns# kill -HUP 'cat /var/run/nginx.pid' && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns#
O fato de que o tempo do log não é entre os tempos impressos por date
indica que nenhum erro foi encontrado desta vez, e a nova configuração é boa.