Nginx平滑升级
时间:2022-07-22
本文章向大家介绍Nginx平滑升级,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Nginx平滑升级
查看当前 Nginx 编译参数
# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.8
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-5) (GCC)
built with OpenSSL 1.1.1a 20 Nov 2018
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx
升级nginx
下载新版Nginx
cd ~
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar xzvf nginx-1.16.1.tar.gz
编译Nginx
•configure
cd nginx-1.16.1/
./configure --user=www --group=www --prefix=/usr/local/nginx
注意:这里的 configure需跟上边 nginx -V 的编译参数一致。
•make
注意:这里一定 不要 执行 make install
替换旧的程序并重启
•
备份旧的执行程序
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
•
替换新的执行程序
cp objs/nginx /usr/local/nginx/sbin/
•
检查nginx配置文件是否正常
# /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
•
查看nginx版本
/usr/local/nginx/sbin/nginx -V
此时已经变成了新版本
重启
找到 nginx.pid 文件
kill -USR2 cat /usr/local/nginx/logs/nginx.pid
此时会生成一个新的文件:
/usr/local/nginx/logs/nginx.pid.oldbin
kill -QUIT cat /usr/local/nginx/logs/nginx.pid.oldbin
回滚方案
将备份的nginx还原并重启即可
mv /usr/local/nginx/sbin/nginx.bak /usr/local/nginx/sbin/nginx
kill -USR2 cat /usr/local/nginx/logs/nginx.pid
kill -QUIT cat /usr/local/nginx/logs/nginx.pid.oldbin
- 一行代码,Pandas秒变分布式,快速处理TB级数据
- 机器学习算法实现解析——word2vec源码解析
- 从零开始创建一个基于Go语言的web service
- 转--Golang项目邮件发送模块代码分享
- 虚拟化平台cloudstack(8)——从UI开始
- 使用oracle的大数据工具ODCH访问HDFS数据文件
- UWP基础教程 - XAML开篇
- UWP基础教程 - XAML依赖属性和附加属性
- GO语言学习:动态Web
- Golang 连接mssql sql server
- UWP基础教程 - XAML对象元素和属性
- UWP基础教程 - 禁用&开启截取应用屏幕
- Android开发中应该避免的内存泄露
- UWP基础教程 - XAML资源
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android使用FontMetrics对象计算位置坐标
- rxjs里scan和mergeScan operators的用法
- Android自定义控件的步骤
- Android通过Socket与服务器之间进行通信的示例
- SAP Spartacus central configuration - B2cStorefrontModule
- Android自定义控件实现折线图
- 关于Angular Component changeDetection策略设置成OnPush的一个单元测试局限性
- SAP Spartacus CmsService.Components数据结构
- Android同时安装Release和Debug版本的方法
- Django 后台带有字典的列表数据与页面js交互实例
- SAP Spartacus CmsService的CmsActions.LoadCmsComponent
- SAP Spartacus OccEndpointsService单元测试的依赖注入
- Python利用PyPDF2库获取PDF文件总页码实例
- TypeScript里get属性的实现
- SAP Spartacus OccEndpointsService单元测试之getBaseEndpoint