Some of the best advice yet.  Anybody in serious production mode should have no single points of failure.  <br><br><div class="gmail_quote">On Sat, Oct 13, 2012 at 10:10 AM, bwellsnc <span dir="ltr"><<a href="mailto:bwellsnc@gmail.com" target="_blank">bwellsnc@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">To add, if you require 0 downtime then you really need to reevaluate<br>
your environment.  Even in the linux world, things need to be<br>
restarted or rebooted.  If you cannot be down for more than a few<br>
seconds to allow for a software update, then you need to look into<br>
setting up a clustered/load balanced environment.  I have 2 front end<br>
load balancers with 4 backend web servers so to keep my environment up<br>
and running.  This allows me to run software updates and system<br>
reboots with little to no downtime.  At then end, it's keeping the<br>
perception that you are up and running to your customers.<br>
<br>
Just my 2 cents<br>
<br>
Brent<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Sat, Oct 13, 2012 at 8:51 AM, Francis Daly <<a href="mailto:francis@daoine.org">francis@daoine.org</a>> wrote:<br>
> On Fri, Oct 12, 2012 at 08:25:36PM -0400, Bob S. wrote:<br>
><br>
> Hi there,<br>
><br>
>> I don't see how this can work.<br>
><br>
> And yet, it does.<br>
><br>
>> Trying to replace the nginx executable with a new version of nginx, while<br>
>> nginx is running,  will produce:<br>
>><br>
>> cp: cannot create regular file `nginx': Text file busy<br>
><br>
> I've never seen that error message.<br>
><br>
> That's not to say that it doesn't happen; but that it is by no means<br>
> universal.<br>
><br>
>> Or am I missing something?<br>
><br>
> It is possible to move, remove, rewrite, or replace a file, independent<br>
> of whether it is being used by another process.<br>
><br>
>> This is standard behavior on any running executable in Linux.<br>
><br>
> I'd suggest that your Linux is not the same as my Linux.<br>
><br>
> "standard behavior" is that "file being used" does not block "file<br>
> being modified".<br>
><br>
><br>
> All that said, if what "make install" does by default is not what you<br>
> want, you can always "cp" or "mv" the old executable; then "cp", "mv",<br>
> "cat", or otherwise, put the new executable in place.<br>
><br>
> And then send the special nginx signals to ensure upgrade with zero<br>
> downtime.<br>
><br>
> (And it is possible that your system init script does exactly this.)<br>
><br>
> All the best,<br>
><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><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><br>
</div></div></blockquote></div><br>