首页 > 代码库 > nginx平滑升级
nginx平滑升级
原文发表于:2010-12-09
转载至cu于:2012-07-21
闲来无事把nginx服务器升级了,因为没有经常玩linux,记录下来以免将来再升级的时候又去查资料。
下载:
[root@liuawblizfpws~]#wget http://nginx.org/download/nginx-0.*.*.tar.gz (版本号已修改)
解压:
[root@liuawblizfpws ~]#tar zxvf nginx-0.*.*.tar.gz (版本号已修改)
这里顺便把nginx的版本号修改了,起到一定的安全作用。
修改源码文件:
[root@liuawblizfpws ~]#vim nginx-0.*.*/src/core/nginx.h#define NGINX_VERSION "*.$.&" (版本号)#define NGINX_VER "net/" NGINX_VERSION (服务器名字)
重新编译之前需要查看之前的nginx的安装信息:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -V
得到信息(路径因人而异):
nginx: configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
编译,但不安装;在编译目录下的objs目录下的nginx文件即是新的执行文件:
[root@liuawblizfpws nginx-0.*.*]#./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module[root@liuawblizfpws nginx-0.*.*]#make
备份原有nginx文件:
[root@liuawblizfpws ~]#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
将已经编译好的nginx文件复制到相应的执行路径下:
cp ~/nginx-0.*.*/objs/nginx /usr/local/nginx/sbin/nginx
测试,以免不能平滑升级:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
测试通过则将nginx.pid修改为您nginx.pid.oldbin,同时启动新的nginx:
[root@liuawblizfpws ~]#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
退出原nginx:
[root@liuawblizfpws ~]#kill -QUIT `cat /usr/loca/nginx/logs/nginx.pid.oldbin`
查验:
[root@liuawblizfpws ~]#curl -I netonline.meHTTP/1.1 200 OKServer: net/*.$.&Date: Thu, 09 Dec 2010 05:13:36 GMT
nginx平滑升级
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。