1. 开始之前先查看一下当前使用的版本。

[deng@dengserver2 src]$ sudo /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.12.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)

configure arguments: --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre

※ 注意红色区域,这是以前编译的参数。马上编辑新版本需要用到。

2.下载新版本:

[deng@dengserver2 src]$ sudo wget

[deng@dengserver2 src]$ sudo tar -zxvf nginx-1.12.1.tar.gz

[deng@dengserver2 src]$ cd nginx-1.12.1

[deng@dengserver2 nginx-1.12.1]$ sudo ./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre

[deng@dengserver2 src]$ sudo make

3. 执行完后,这里不用在 make install 了,接下来重名/sbin/nginx为nginx.old

# /usr/local/webserver/nginx/sbin/nginx /usr/local/webserver/nginx/sbin/nginx.old

4. 复制编译后objs目录下的nginx文件到nginx的安装目录sbin/下

# objs/nginx /usr/local/webserver/nginx/sbin/

5. 测试一下新复制过来文件生效情况:

# /usr/local/webserver/nginx/sbin/nginx -t nginx: the configuration /usr/local/webserver/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf is successful

6. 让nginx把nginx.pid文件修改成nginx.pid.oldbin,随即启动nginx,实现不间断

# -USR2 ` /usr/local/webserver/nginx/nginx.pid`             更新配置文件 # kill -QUIT `cat /usr/local/webserver/nginx/nginx.pid.oldbin`   优雅的关闭

7. 升级完成了,最后在看一下升级后的版本

[deng@dengserver2 nginx-1.12.1]$ sudo /usr/local/nginx/sbin/nginx -v

nginx version: nginx/1.12.1