Red Hat Bugzilla – Bug 821926
nginx can no longer upgrade without downtime (after migration to systemd)
Last modified: 2012-05-26 04:06:04 EDT
Bug opened to track progress.
This was caused by my own oversight when migrating nginx to systemd.
Prior to f17, the following command could be performed:
This uses an nginx built-in feature to update nginx without any downtime. nginx responds to a "kill -USR2" by launching a new process using the new binary, before phasing out the old nginx process. The old process can then be gracefully phased out using the WINCH signal (or stopped using QUIT).
"/etc/init.d/nginx upgrade" has always been a manual thing, but there isn't a way to implement something similar in systemd. It would have to either be in %post or live in a separate script.
If in %post, a zero-downtime upgrade would happen automatically after every "yum update". I believe this is what Debian do.
If in a separate script, the zero-downtime upgrade would have to be done manually following a "yum update". nginx also offers the possibility to "rollback" to the old binary following a zero-downtime upgrade, but this is not currently implemented in /etc/inid.d/nginx. This would be a nice feature to have if re-implementing in a separate script.
I'm currently leaning towards a separate script for rollback functionality. Our httpd package doesn't do any automatic zero-downtime upgrade following a package update. Probably better to take the safer approach for nginx rather than doing anything automatically.
Decided to write a simple non-interactive script without "rollback" feature. This matches the old initscript in function (but not implementation), so there is no change for users other than running "/usr/bin/nginx-upgrade" instead of "/etc/init.d/nginx upgrade".
nginx-1.0.15-4.fc17 has been submitted as an update for Fedora 17.
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing nginx-1.0.15-4.fc17'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
nginx-1.0.15-4.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.