I don't see how this can work.<div><br></div><div>Trying to replace the nginx executable with a new version of nginx, while nginx is running,  will produce:</div><div><br></div><div>cp: cannot create regular file `nginx': Text file busy</div>

<div><br></div><div>Or am I missing something?</div><div><br></div><div>This is standard behavior on any running executable in Linux.</div><div><br></div><div><br><br><div class="gmail_quote">On Fri, Oct 12, 2012 at 5:27 PM, Francis Daly <span dir="ltr"><<a href="mailto:francis@daoine.org" target="_blank">francis@daoine.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Fri, Oct 12, 2012 at 01:29:14PM -0700, Quintin Par wrote:<br>
<br>
Hi there,<br>
<br>
</div><div class="im">> Thanks for this. This looks a bit complicated.<br>
><br>
> I’d assume that “make install” will overwrite the executable and that will<br>
> ensure everything. Or should I just go ahead and do service nginx restart<br>
<br>
</div>"make install" will replace the binary. It won't run the new binary.<br>
<br>
After replacing the binary, you'll want to do something like<br>
<br>
  kill -USR2 $(cat logs/nginx.pid)<br>
<br>
And after testing that things are working as expected, then<br>
<br>
  kill -WINCH $(cat logs/nginx.pid.oldbin)<br>
<br>
followed eventually by<br>
<br>
  kill -QUIT $(cat logs/nginx.pid.oldbin)<br>
<br>
The "control.html" page has more details about how to handle problems.<br>
<br>
"service nginx restart" probably doesn't do that sequence, and so probably<br>
won't be 0-downtime. But you can use your test system to find a sequence<br>
that works well enough for you.<br>
<div class="HOEnZb"><div class="h5"><br>
        f<br>
--<br>
Francis Daly        <a href="mailto:francis@daoine.org">francis@daoine.org</a><br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a></div></div></blockquote></div><br></div>