原文發表於:2010-12-09轉載至cu於:2012-07-21 閑來無事把nginx伺服器升級了,因為沒有經常玩linux,記錄下來以免將來再升級的時候又去查資料。 下載: [root@liuawblizfpws~]#wget http://nginx.org/download/nginx-0. ...
原文發表於: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 -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: 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.me HTTP/1.1 200 OK Server: net/*.$.& Date: Thu, 09 Dec 2010 05:13:36 GMT