Upgrading Executable on the Fly

Sébastien Rebecchi srebecchi at kameleoon.com
Tue Jul 16 15:08:10 UTC 2024


Hello

Reading this doc seems unclear to me
https://nginx.org/en/docs/control.html#upgrade

According to it, we should do

kill -USR2 $nginxPid
kill -WINCH $nginxPid
kill -QUIT $nginxPid

with $nginxPid the pid of the old nginx.

But doing that seems not good cause we have a strange behaviour that old
nginx worker processes are shutting down but no new master and workers are
spawned

If I add a sleep time before sending the QUIT signal then all is good, for
ex sleep 20; between the WINCH and QUIT.

How to explain that? It seems nginx receiving QUIT before processing
the USR2 ignored messages received before and just ignores it? Or what is
the explanation? And how to solve that properly cause sleeping seems not a
clean workaround. I need an automatic procedure, not to have to manually
look at what happens on all my servers during upgrade.

Best regards,

Sébastien.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20240716/c607b585/attachment.htm>


More information about the nginx mailing list