专栏首页二狗的DBA之路nginx的平滑升级方法:

nginx的平滑升级方法:

最简单的nginx的平滑升级方法:

1 找到nginx的执行文件的路径

# ps auxf|grep nginx  记下nginx的master进程 pid(我这里是2752 )

2 查看当前nginx的版本及编译参数:

# nginx -V

nginx version: nginx/1.8.0

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-google_perftools_module

3 下载tar xf nginx-1.11.5.tar.gz

# tar xf tar xf nginx-1.11.5.tar.gz && cd tar xf nginx-1.11.5
# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-google_perftools_module
# make  注意这里不要执行make install操作。

4 移走原先的nginx二进制文件

# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old

5 替换新编译的 文件到nginx的sbin目录下

# cp objs/nginx /usr/local/nginx/sbin/

6 执行升级命令(在解压出的新版本的nginx源文件目录下执行)

# make upgrade

/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

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

sleep 1

test -f /usr/local/nginx/logs/nginx.pid.oldbin

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

7 检查升级是否完成

# ps aux|grep nginx 可以看到nginx的master进程 pid变了。
# /usr/local/nginx/sbin/nginx -V 也可以看到nginx的版本升级完成了
# ps aux|grep nginx还可以看到老的nginx进程在逐步shutdown。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Nginx简介及安装

    Nginx:Nginx ("engine x") ,Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款...

    Learning_斌
  • 面试官常问的Nginx的那几个问题?

    Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器

    李红
  • Service Mesh体系中的Envoy快速入门

    Envoy是一款由Lyft开源的7层代理和通信总线,我们都知道随着微服务的盛行,越来越多的项目中开始使用微服务的理念,当然我们也知道互联网中任何理念或者软件都不...

    陌无崖
  • 【踩坑】因为这几行代码,我都快把键盘敲烂了!

    在我对项目进行检查后,准备手动进行重启项目服务的时候,发现我对Linux的命令陌生了许多,难过!

    林小帅
  • 微信小程序获取用户所在城市

    在微信小程序中, 获取用户的地理位置是需要权限的, 如果只是获取用户所在的城市信息, 那只需查看用户ip所在的城市就好了, 下面我们就完成获取用户ip的小程序逻...

    Javanx
  • NGINX Server Push服务器推送

    Support for HTTP/2 server push is also included in NGINX Plus R15.

    javascript.shop
  • SpringBoot2.x+Redis+nginx实现session共享和负载均衡

    本地访问:http://127.0.0.1:8080/session/getSeesion 可以获取到sessionid说明项目可以正常启动和访问,接下来需要配...

    sunny1009
  • Nginx的实际应用

    https://download.csdn.net/download/learning_lb/9921929

    Learning_斌
  • 前端开发者必备的Nginx知识及应用

    Nginx现在几乎是众多大型网站的必用技术,大多数情况下,我们不需要去详细的配置它,但是了解它在应用程序中所担当的角色,以及如何解决这些问题是非常有必要的。下面...

    Clearlove
  • vue-router的hash和history模式的区别

    对于 Vue 这类渐进式前端开发框架,为了构建 SPA(单页面应用),需要引入前端路由系统,这也就是 Vue-Router 存在的意义。前端路由的核心,就在于 ...

    咻咻ing

扫码关注云+社区

领取腾讯云代金券