No se puede detener el servicio nginx

Me tomó un tiempo descubrirlo, pero a partir de una actualización reciente, no puedo detener Nginx en ninguno de mis servidores Ubuntu 12.04 o Ubuntu 14.04.

sudo service nginx stop , y obtengo nginx start/running, process 16178 .

Intento sudo service nginx stop nuevamente, y obtengo nginx start/running, process 16206 .

Observe cómo cambia el número de proceso.

En /var/log/syslog puedo ver por qué:

Jun 11 11:57:51 kernel: [2318556.994508] init: nginx main process ended, respawning .

Nginx se reaparece cada vez que ejecuto sudo service nginx stop . Nunca se detiene por completo.

Intenté actualizar Ubuntu, reinicié y reinstalé mis servidores en las imágenes de prueba locales (uso Puppet). Nada hace ninguna diferencia. También traté de buscar errores relacionados con esto sin éxito.

¿Alguien sabe cómo puedo solucionar este problema? Me gustaría poder ejecutar el sudo service nginx stop y, como resultado, sudo service nginx stop todos los procesos nginx.

Parece que su servidor nginx es manejado por un proceso de arranque.

Busque en la carpeta / etc / init, y verifique si no hay un archivo que maneje nginx.

 grep -r nginx /etc/init 

Luego edite este archivo y elimine la opción de respawn en el archivo de configuración.

Tuve el mismo problema, cuando quería actualizar mis certificados de letencrypt con un servidor web temporal por certbot : cada vez, detenía nginx con

 service stop nginx 

después de unos segundos, se reinició automáticamente, de modo que cuando se presentó la prueba de mi dominio certbot, el puerto 443 ya estaba en uso por el renombrado nginx.

Tenía mucha prisa por arreglar esto, así que empecé una solución muy sucia, pero funcionó:

 while true; do service nginx stop; sleep 2; done 

Ahora pude actualizar mis certificados y descubrir más adelante, cómo detener nginx para siempre de una manera más correcta;)

Puede detener el proceso nginx usando sudo nginx -s quit

Se puede ver en /etc/init/nginx