酷站(www.ku0.com)-致力于为互联网从业者提供专业的网络资源资讯

热门关键词:  企业  as  baidu  c4rp3nt3r  美女

Nginx版本平滑升级方案全图文介绍

来源:转载 作者:秩名 人气: 发布时间:2021-10-06
本篇文章主要介绍了Nginx版本平滑升级方案全图文介绍,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下,也感谢大家对酷站(ku0.com)的支持。

由于负载均衡测试服务器中nginx版本过低,存在安全漏洞,查询相关修复漏洞资料,需要采取nginx版本升级形式对漏洞进行修复。

Nginx平滑升级方案

1、案例采用版本介绍

旧版本 nginx-1.12.2.tar.gz

新版本 nginx-1.20.1.tar.gz

2、nginx-1.12.2版本为当前运行版本


设置端口8080和对主页index.html进行修改,后续进行平滑升级后,依然可以对其访问。

3、解压新版本 nginx-1.20.1.tar.gz编译安装至旧版本nginx-1.12.2目录下,运行原有nginx.conf配置文件,执行如下

./configure --prefix=/usr/local/nginx-1.12.2  --conf-path=/usr/local/nginx-1.12.2/nginx.conf --pid-path=/usr/local/nginx-1.12.2/nginx.pid --user=ngadm --group=ngadm --with-http_stub_status_module --without-http_rewrite_module

make && make install

4、完成后1.20.1版本会自动在原sbin目录下生产新的nginx二进制文件,旧的nginx会自动被替换成nginx.old

5、平滑升级

Nginx对进程的控制能力非常强大,可以通过信号指令控制进程。常用的信号有:

  • -QUIT,表处理完当前请求后,关闭进程。
  • -HUP,表示重新加载配置,也就是关闭原有的进程,并开启新的工作进程。此操作不会中断用户的访问请求,因此可以通过此信号平滑的重启Nginx。
  • -USR2,用于平滑升级可执行程序。
  • -WINCH,从容关闭工作进程。

根据nginx进程控制信号,执行如下:

kill -USR2 38323(旧进程PID为38323)
ps -ef |grep nginx

切换为新的master进程,关闭旧的work进程,注意此时旧的master进程依然存在,执行如下:

kill –WINCH 38323 (旧进程PID为38323)
ps -ef |grep nginx

检查此时版本

sbin/nginx -v

已平滑升级成功。

注意:此时新版本nginx的masterPID为41063,同时也存在旧版本的master进程(旧进程PID为38323),若无需再回退时操作,可执行旧进程退出操作,执行如下:

kill –QUIT 38323

回退步骤

关于回退操作分为两类:

1、事前对旧版本nginx进行备份,若出现问题,直接将旧版本重新拷贝会/usr/local目录下,重启nginx旧版本操作,执行如下:

killall nginx
cp nginx-1.12.2.bak nginx-1.12.2
/usr/local/nginx-1.12.2/sbin/nginx –c /usr/local/nginx-1.12.2/nginx.conf

检查nginx状态
ps –ef |grep nginx

2、在新版本nginx的master进程和旧版本的master进程同时存在时,执行如下:

切换回旧版本的master进程

kill -HUP 旧masterPID

关闭新版本nginx的master进程,并将原sbin目录下的nginx.old(旧版本nginx二进制文件)重新改回nginx,以便管理nginx。

kill -WINCH 新masterPID
kill -QUIT 新masterPID
cp /usr/local/nginx-1.12.2/sbin/nginx.old /usr/local/nginx-1.12.2/sbin/nginx

再次确认此时nginx版本已退回原版本

sbin/nginx -v

版权声明:本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 959677720#qq.cn(#换@) 举报,一经查实,本站将立刻删除。
原文链接:https://www.cnblogs.com/liuxc83/p/15241954.html

相关文章

  • Rhit高效可视化Nginx日志查看工具

    Rhit高效可视化Nginx日志查看工具

    Rhit 可以从标准文件夹中读取 Nginx 的日志文件(gzipped 的压缩文件也可以),并进行分析统计,在控制台中以可视化的表格形式展示,并且不会产生任何多余的临时文件或......
    10-26
  • Nginx反向代理学习的教程

    Nginx反向代理学习的教程

    一、反向代理准备工作 1.在linux系统中安装Tomcat 将tomcat解压到/usr/src下。启动需要jdk环境。没有jdk环境的装一下,我centos7自带jdk1.8。 2.启动tomcat 进入tomcat的bin目录中,有......
    10-18
  • 使用Nginx搭载rtmp直播服务器的教程

    使用Nginx搭载rtmp直播服务器的教程

    这次我们搭建一个rtmp直播服务器,用于电脑或手机直播推流到服务器,然后其他终端如电脑或手机可以观看直播的视频画面。 我们这里用电脑录屏软件将实时录制的电脑......
    10-12
  • Nginx被动检查服务器的存活状态的介绍

    Nginx被动检查服务器的存活状态的介绍

    通过发送定期健康检查来监控上游组中 HTTP 服务器的健康状况。Nginx可以持续测试您的上游服务器,避免出现故障的服务器,并将恢复的服务器优雅地添加到负载均衡组中......
    10-11
  • Nginx版本平滑升级方案全图文介绍

    Nginx版本平滑升级方案全图文介绍

    由于负载均衡测试服务器中nginx版本过低,存在安全漏洞,查询相关修复漏洞资料,需要采取nginx版本升级形式对漏洞进行修复。 Nginx平滑升级方案 1、案例采用版本介绍......
    10-06
  • 使用goaccess分析nginx日志的方法

    使用goaccess分析nginx日志的方法

    最近想用goaccess来分析下nginx日志,但是苦于nginx日志配置格式不是按照正常格式来的,完全是我们按照自己的需求来写的,所以导致goaccess分析不了,需要自己重新定义下......
    07-31
  • nginx结合openssl实现https的方法

    nginx结合openssl实现https的方法

    在未使用SSL证书对服务器数据进行加密认证的情况下,用户的数据将会以明文的形式进行传输,这样一来使用抓包工具是可以获取到用户密码信息的,非常危险。而且也无......
    07-24
  • nginx请求限制配置方法介绍

    nginx请求限制配置方法介绍

    Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性: 在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板......
    07-13
  • 详解nginx配置虚拟主机的步骤

    详解nginx配置虚拟主机的步骤

    虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台虚拟的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有......
    07-11
  • 使用nginx配置访问wgcloud的方法

    使用nginx配置访问wgcloud的方法

    nginx配置如下: 如http://172.17.188.27/wgcloud server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://172.17.188.27:9999; #root html; #index......
    06-27