重新编译Nginx

时间:2012-10-31 10:33:06

标签: compilation nginx

我现在在网站上运行nginx,但我需要重新编译它以添加一些额外的功能。我使用的命令是。

make clean
./configure -- BLA BLA BLA
make
make install

只是为了确认,我不需要停止nginx,直到我运行'make install'对吗? 'make'命令耗时最长,我只想100%确定我不需要更快停止Nginx。

所以要确认,这实际上只意味着一两秒的停机时间。

make clean
./configure -- BLA BLA BLA
make
/etc/init.d/nginx stop
make install
/etc/init.d/nginx start

2 个答案:

答案 0 :(得分:2)

你是对的,只做链接和编译,而make install会将它安装在系统上

答案 1 :(得分:0)

您不需要停机。您编译并替换可执行文件。 然后你触发nginx产生一个新的主人。 这个过程在这里解释: http://nginx.org/en/docs/control.html#upgrade

New Version - Master - start:
kill -s USR2 `cat /var/run/nginx.pid`

Old Version - Worker - stop:
kill -s WINCH `cat /var/run/nginx.pid.oldbin`
Old Version - Master - stop:
kill -s QUIT `cat /var/run/nginx.pid.oldbin`

如果你想回到旧版本:

Old Version - Worker - start:
kill -s HUP `cat /var/run/nginx.pid.oldbin`
New Version - Master - stop:
kill -s QUIT `cat /var/run/nginx.pid`

如果出现无法替换文件的错误,则编译选项错误。

--sbin-path=/usr/sbin/nginx