当前位置: > Linux服务器 > nginx >

Nginx平滑升级与添加模块

时间:2014-10-05 09:21来源:linux.it.net.cn 作者:it

Nginx升级版本与添加模块,都需要重新编译。
不过Nginx重新编译之后,不需要停服务就可以做到平滑升级。

系统环境:ubuntu 10.04,其他发行版也许会略有不同,但是大同小异。

1,去http://nginx.org/下载最新版本,解压。

2,查看老版本的配置选项:
 

复制代码代码示例:
$ nginx -V
nginx version: nginx/1.3.14
built by gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) 
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log 
--http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log 
--http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi 
--lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module 
--with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module 
--with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl 
--with-mail --with-mail_ssl_module --add-module=ngx_http_auth_pam_module-1.2/ --add-module=echo-nginx-module-0.42/ --add-module=nginx-upstream-fair/ 
--add-module=nginx-dav-ext-module/ --add-module=ngx_http_redis-0.3.6/

3,编译新版源码
 

复制代码代码示例:
$ cd nginx-1.3.14
$ ./configure #这里跟上原来的配置选项,也就是上面命令的结果
$ make

4,备份旧版本的nginx可执行文件,复制新版本的nginx这行文件
 

复制代码代码示例:
$ sudo mv /usr/sbin/nginx /usr/sbin/nginx.old
$ sudo cp objs/nginx /usr/sbin/

5,测试新版本nginx是否正常
 

复制代码代码示例:
$ sudo /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
#如果出现上面的successful说明成功

6,升级
 

复制代码代码示例:
$ sudo make upgrade

7,如果上面命令出现错误,修改下Makefile中的upgrade标签下的路径,修改为正确的Nginx可执行文件的路径,Ubuntu下一般是/usr/sbin/nginx。

 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容