Problem with On The Fly Upgrade
Benji Taylor
benji.taylor at distilnetworks.com
Tue Nov 3 05:40:08 UTC 2015
I am currently experiencing an issue using the on the fly upgrade feature
of nginx. I am attempting the upgrade going from 1.4.1 to 1.8.1 on Ubuntu
12.04. Here is the process I am utilizing:
Here is initial look at my running nginx:
/etc/nginx# ps aux | grep nginx
root 18779 0.5 0.6 416156 26756 ? Ss 05:24 0:00 nginx:
master process /usr/sbin/nginx
www-data 18780 0.0 0.8 424648 35528 ? S 05:24 0:00 nginx:
worker process
www-data 18781 0.0 0.8 424648 35284 ? S 05:24 0:00 nginx:
worker process
www-data 18782 0.0 0.8 424648 35284 ? S 05:24 0:00 nginx:
worker process
www-data 18783 0.0 0.8 424648 35284 ? S 05:24 0:00 nginx:
worker process
www-data 18784 0.0 0.6 416156 27084 ? S 05:24 0:00 nginx:
cache manager process
www-data 18785 0.0 0.6 416156 27084 ? S 05:24 0:00 nginx:
cache loader process
root 18861 0.0 0.0 9384 940 pts/2 S+ 05:25 0:00 grep
--color=auto nginx
First command in the process is run:
:/etc/nginx# sudo kill -s USR2 18779
result:
/etc/nginx# ps aux | grep nginx
root 18779 0.0 0.6 416156 26756 ? Ss 05:24 0:00 nginx:
master process /usr/sbin/nginx
www-data 18780 0.0 0.8 424648 35528 ? S 05:24 0:00 nginx:
worker process
www-data 18781 0.0 0.8 424648 35284 ? S 05:24 0:00 nginx:
worker process
www-data 18782 0.0 0.8 424648 35284 ? S 05:24 0:00 nginx:
worker process
www-data 18783 0.0 0.8 424648 35284 ? S 05:24 0:00 nginx:
worker process
www-data 18784 0.0 0.6 416156 27084 ? S 05:24 0:00 nginx:
cache manager process
root 23762 8.0 0.8 416156 32908 ? S 05:27 0:00 nginx:
master process /usr/sbin/nginx
www-data 23763 6.0 0.8 424648 35280 ? S 05:27 0:00 nginx:
worker process
www-data 23764 7.0 0.8 424648 35280 ? S 05:27 0:00 nginx:
worker process
www-data 23765 4.0 0.8 424648 35280 ? S 05:27 0:00 nginx:
worker process
www-data 23766 4.0 0.8 424648 35280 ? S 05:27 0:00 nginx:
worker process
www-data 23767 0.0 0.6 416156 27084 ? S 05:27 0:00 nginx:
cache manager process
www-data 23768 0.0 0.6 416156 27084 ? S 05:27 0:00 nginx:
cache loader process
root 23815 0.0 0.0 9384 944 pts/2 S+ 05:27 0:00 grep
--color=auto nginx
Second Command is run:
/etc/nginx# sudo kill -s WINCH 18779
Result:
/etc/nginx# ps aux | grep nginx
root 18779 0.0 0.6 416156 26756 ? Ss 05:24 0:00 nginx:
master process /usr/sbin/nginx
root 23762 0.1 0.8 416156 32908 ? S 05:27 0:00 nginx:
master process /usr/sbin/nginx
www-data 23763 0.0 0.8 424648 35524 ? S 05:27 0:00 nginx:
worker process
www-data 23764 0.0 0.8 424648 35280 ? S 05:27 0:00 nginx:
worker process
www-data 23765 0.0 0.8 424648 35280 ? S 05:27 0:00 nginx:
worker process
www-data 23766 0.0 0.8 424648 35280 ? S 05:27 0:00 nginx:
worker process
www-data 23767 0.0 0.6 416156 27084 ? S 05:27 0:00 nginx:
cache manager process
root 26172 0.0 0.0 9384 944 pts/2 S+ 05:28 0:00 grep
--color=auto nginx
Everything up through this point looks like it works as intended. However
the last step when shutting down the old master process. I am getting
unexpected behavior:
/etc/nginx# sudo kill -s QUIT 18779
Result:
/etc/nginx# ps aux | grep nginx
root 31133 0.0 0.0 9384 944 pts/2 S+ 05:31 0:00 grep
--color=auto nginx
The QUIT signal seems to be killing both the old master pid as well as the
new master and all of the new master's workers. I also do a pstree and it
looks like the old master is the parent for the new master and its workers.
Am I doing anything wrong in regards to the on the fly upgrade process
which is causing this behavior and or could something else on the box cause
this sort of thing to occur.
Benji
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20151102/60ca96b5/attachment.html>
More information about the nginx
mailing list