Como você está executando o reinício? Através de um script de inicialização ou usando o serviço, ou você está apenas executando 'nginx restart'
Para depurar o nginx, a maneira correta é adicionar debug
ao final da sua diretiva error_log sob HTTP. Consulte o link
Mas meu dinheiro está no seu arquivo PID não sendo limpo quando o reinício é chamado.
Primeiro, elimine o nginx e inicie-o novamente no modo de primeiro plano adicionando master_process off
ou daemon off
para o seu arquivo nginx.conf.
Executar:
nginx -c /etc/nginx/nginx.conf | tee ~/nginx.log
agora em um terminal diferente:
nginx -s restart
E eu espero que você tenha muitos erros.
Você também pode se juntar ao processo principal do nginx executando strace -fqp <pid>
E tente e veja o que está fazendo. (isso eu acho que é uma abordagem de granizo, mas quando você quer saber exatamente por que diabos o material não está funcionando, por que não obter todas as informações).