Welcome! Log In Create A New Profile

Advanced

Re: Compiling Nginx on production. How to do it without down time.

bwellsnc
October 13, 2012 12:52AM
Since you are using CentOS, look into rebuilding the rpm against the src rpm.

http://nginx.org/packages/centos/6/SRPMS/

I took the src rpm and enabled the modules that I need and added the
modules that I wanted from the addons. I then built the rpm and
created my own repo server inside my network to distribute it to my
internal servers. When you build the RPM and install it, it will
restart nginx but that should only be a few seconds of downtime.

Brent


On Fri, Oct 12, 2012 at 8:25 PM, Bob S. <farseas@gmail.com> wrote:
> I don't see how this can work.
>
> Trying to replace the nginx executable with a new version of nginx, while
> nginx is running, will produce:
>
> cp: cannot create regular file `nginx': Text file busy
>
> Or am I missing something?
>
> This is standard behavior on any running executable in Linux.
>
>
>
> On Fri, Oct 12, 2012 at 5:27 PM, Francis Daly <francis@daoine.org> wrote:
>>
>> On Fri, Oct 12, 2012 at 01:29:14PM -0700, Quintin Par wrote:
>>
>> Hi there,
>>
>> > Thanks for this. This looks a bit complicated.
>> >
>> > I’d assume that “make install” will overwrite the executable and that
>> > will
>> > ensure everything. Or should I just go ahead and do service nginx
>> > restart
>>
>> "make install" will replace the binary. It won't run the new binary.
>>
>> After replacing the binary, you'll want to do something like
>>
>> kill -USR2 $(cat logs/nginx.pid)
>>
>> And after testing that things are working as expected, then
>>
>> kill -WINCH $(cat logs/nginx.pid.oldbin)
>>
>> followed eventually by
>>
>> kill -QUIT $(cat logs/nginx.pid.oldbin)
>>
>> The "control.html" page has more details about how to handle problems.
>>
>> "service nginx restart" probably doesn't do that sequence, and so probably
>> won't be 0-downtime. But you can use your test system to find a sequence
>> that works well enough for you.
>>
>> f
>> --
>> Francis Daly francis@daoine.org
>>
>> _______________________________________________
>> nginx mailing list
>> nginx@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx
>
>
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Compiling Nginx on production. How to do it without down time.

Quintin Par October 11, 2012 08:10PM

Re: Compiling Nginx on production. How to do it without down time.

Francis Daly October 11, 2012 08:28PM

Re: Compiling Nginx on production. How to do it without down time.

Quintin Par October 12, 2012 04:30PM

Re: Compiling Nginx on production. How to do it without down time.

Priority1 October 12, 2012 04:46PM

Re: Compiling Nginx on production. How to do it without down time.

Francis Daly October 12, 2012 05:28PM

Re: Compiling Nginx on production. How to do it without down time.

Bob S. October 12, 2012 08:28PM

Re: Compiling Nginx on production. How to do it without down time.

bwellsnc October 13, 2012 12:52AM

Re: Compiling Nginx on production. How to do it without down time.

VBart October 13, 2012 08:12AM

Re: Compiling Nginx on production. How to do it without down time.

VBart October 13, 2012 08:22AM

Re: Compiling Nginx on production. How to do it without down time.

Francis Daly October 13, 2012 08:52AM

Re: Compiling Nginx on production. How to do it without down time.

bwellsnc October 13, 2012 10:12AM

Re: Compiling Nginx on production. How to do it without down time.

Bob S. October 14, 2012 01:18PM

Re: Compiling Nginx on production. How to do it without down time.

António P. P. Almeida October 13, 2012 07:46AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 174
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready