IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> nginx平滑升级 -> 正文阅读

[系统运维]nginx平滑升级

nginx平滑升级

因nginx版本更新迭代,现需要将nginx升级最新版本,目前最新版本nginx为1.23.1。为了不影响nginx运行,采用平滑升级的方式

下载全新版本

nginx官网地址:http://nginx.org/en/download.html

安装所需依赖包

yum -y install pcre-devel openssl openssl-devel

平滑升级(平滑升级有两种方法)

1.查看现有nginx版本

ps -ef | grep nginx
find / -name nginx               # 找到nginx路径,默认路径是/usr/local/nginx/
/usr/local/nginx/sbin/nginx -V

1
2.下载最新版nginx版本(目前是1.23.1)

wget http://nginx.org/download/nginx-1.23.1.tar.gz

3.解压

tar -zxvf nginx-1.23.1.tar.gz
cd nginx-1.23.1

4.编译安装

./configure       # 如果你查看nginx -V有configure arguments的话,命令为./configure 查到的参数
make              #这里不进行make install 
cd objs

5.备份旧nginx执行文件

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx$(date +%F)

6.修改配置文件(如果有必要的话,进行配置文件的修改并对旧配置文件进行备份)

cp /usr/local/nginx/conf/ngxin.conf /usr/local/nginx/conf/ngxin.conf$(date +%F)
vi nginx.conf
修改……
:wq保存退出

7.拷贝新版本nginx执行文件

cp /home/runtrend/nginx-1.23.1/objs/nginx /usr/local/nginx/sbin/

方法一

1.使用nginx自带方法更新升级

cd /home/runtrend/nginx-1.23.1/
make upgrade

2.不报错的话说明已经更新成功了,查看nginx版本

/usr/local/nginx/sbin/nginx -V

在这里插入图片描述
3.如果遇到上面的错误的话,需要将nginx服务停掉,然后使用绝对路径重新启动即可;

ps -ef | grep nginx
kill -9 nginx进程pid   #杀掉nginx所有进程
cd /usr/local/nginx/sbin/
./nginx
cd /home/runtrend/nginx-1.23.1/
make upgrade

问题解决,但是出现第3步错误的话,需要杀掉所有进程,这个可能就不算平滑升级了,如果不影响服务的话,推荐使用这种,方便快捷

方法二

1.向旧master进程发送USR2信号,告知版本升级,旧master进程首先将logs/nginx.pid文件重命名为nginx.pid.oldbin,然后运行新版本Nginx二进制文件,启动新master进程,新master进程启动新worker进程,其中新master进程的父进程是旧master进程

ps -ef | grep nginx
kill -USR2 [old-master-pid]

2.向旧master进程发送WINCH信号,告知其优雅关闭旧worker进程,但旧master进程不会自动退出

kill -WINCH [old-master-pid]

3.如果确认新worker进程正常工作,可以向旧master进程发送QUIT信号,告知其自动退出

kill -QUIT [old-master-pid]

4.查看升级后Nginx版本

/usr/local/nginx/sbin/nginx -v

至此,升级完成!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:16:52  更:2022-08-06 11:17:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 22:40:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码