nginx -s stop et -s quit quelle est la différence?

22

Je peux arrêter le serveur nginx en utilisant nginx -s stopou nginx -s quit.

Quelle est la différence?

Koerr
la source

Réponses:

32

Quitter est un arrêt gracieux. Nginx termine de servir les connexions ouvertes avant l'arrêt

L'arrêt est un arrêt rapide où il se termine entre le service de la connexion

http://wiki.nginx.org/CommandLine

Sameer
la source
6

-s stoptermine immédiatement le processus nginx tout en -s quiteffectuant un arrêt normal.

EEAA
la source
3

SIGQUITprovoque la rupture de nginx s'il écoute sur les sockets de domaine Unix. Il ne parviendra pas à nettoyer les sockets, puis se terminera immédiatement lors de la prochaine invocation car il ne peut pas créer de sockets sur des chemins qui existent déjà.

SIGTERMprovoque l'arrêt de nginx dans un état cohérent à partir duquel il peut redémarrer. Le démon supprime tous les sockets de domaine Unix, laisse tous les caches dans un état utilisable, etc.

Vous ne voulez pratiquement jamais utiliser QUIT.

John Moser
la source
Le problème des sockets de domaine Unix semble être dû à un problème ouvert dans nginx. Cependant, si vous n'utilisez pas ce type de socket, il semble clair que l' quitoption est documentée comme la façon de faire une sortie gracieuse.
RichVel