Precisa de mais informações
É difícil dizer exatamente qual é o problema sem mais informações. Só vou jogar alguns pensamentos do seu jeito. Edite sua postagem com mais informações e talvez possamos descobrir isso.
Perguntas
- Como o nginx está sendo executado? Está sendo executado usando um serviço ou usando um método ad-hoc?
- Se estiver sendo executado pelo init (upstart, systemd, etc), eles (geralmente?) registrarão algo sobre o processo que está sendo reiniciado. Se não, você pode olhar para o trabalho de inicialização e adicionar uma impressão de log para quando ele for iniciado / interrompido.
- Existe algo relevante em
/var/log/syslog
? - Salve o
stdout
/stderr
do nginx. Algo assim. Talvez você pegue algo interessante quando isso acontecer novamente.nohup /usr/local/nginx/sbin/nginx >> /var/log/nginx.out 2>&1 &
-
Execute um script que será registrado sempre que ele vir o nginx morrer. Você poderia então usar isso para correlacioná-lo com outros eventos no sistema.
while true; do NUM_INSTANCES=$(ps -A | grep nginx | wc -l) if [[ "$NUM_INSTANCES" == 0 ]]; then echo "$(date) nginx just died" >> /var/log/syslog fi sleep 1 done
You could also replace the
echo
with a logger call. I've used a similar script to debug my systems. Just be sure to run this in a script file instead of a shell, so you can kill it by doingkillall <scriptname>.sh
.
Além disso, algumas das informações na página de depuração do nginx podem ser úteis. link