nginx平滑升级的操作教程
发布时间 - 2017-07-19 00:00:00 点击率:次平滑升级概述
nginx方便地帮助我们实现了平滑升级。其原理简单概括,就是:
(1)在不停掉老进程的情况下,启动新进程。
(2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。
(3)新进程接受新请求。
(4)老进程处理完所有请求,关闭所有连接后,停止。
这样就很方便地实现了平滑升级。一般有两种情况下需要升级nginx,一种是确实要升级nginx的版本,另一种是要为nginx添加新的模块。
升级过程
具体的操作也很简单,如下:
(0)查看当前版本
在存放Nginx的可执行文件的目录下输入:
复制代码代码如下:
./nginx -V
(1)下载新的Nginx版本并编译。
复制代码代码如下:
wget nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
cd nginx-1.0.11
./configure --add-module=/customized_module_0 --add-module=/customized_module_1
make
注意不要进行make install
下载:
[root@liuawblizfpws~]#wget *.*.tar.gz (版本号已修改)
解压:
[root@liuawblizfpws ~]#tar zxvf nginx-0.*.*.tar.gz (版本号已修改)
这里顺便把nginx的版本号修改了,起到一定的安全作用。
修改源码文件:
[root@liuawblizfpws ~]#vim nginx-0.*.*/src/core/nginx.h #define NGINX_VERSION "*.$.&" (版本号) #define NGINX_VER "net/" NGINX_VERSION (服务器名字)重新编译之前需要查看之前的nginx的安装信息:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -V得到信息(路径因人而异):
nginx: configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module编译,但不安装;在编译目录下的objs目录下的nginx文件即是新的执行文件:
[root@liuawblizfpws nginx-0.*.*]#./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module [root@liuawblizfpws nginx-0.*.*]#make备份原有nginx文件:
[root@liuawblizfpws ~]#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old将已经编译好的nginx文件复制到相应的执行路径下:
cp ~/nginx-0.*.*/objs/nginx /usr/local/nginx/sbin/nginx测试,以免不能平滑升级:
[root@liuawblizfpws ~]#/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.pid修改为您nginx.pid.oldbin,同时启动新的nginx:
[root@liuawblizfpws ~]#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`退出原nginx:
[root@liuawblizfpws ~]#kill -QU查验:IT `cat /usr/loca/nginx/logs/nginx.pid.oldbin`
[root@liuawblizfpws ~]#curl -I netonline.me HTTP/1.1 200 OK Server: net/*.$.& Date: Thu, 09 Dec 2010 05:13:36 GMT
# nginx
# 目录下
# 实现了
# 情况下
# 为您
# 也很
# 因人而异
# 即是
# 有两种
# 但不
# 要为
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
如何在 React 中条件性地遍历数组并渲染元素
浅谈javascript alert和confirm的美化
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
网站制作软件有哪些,制图软件有哪些?
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
Swift中switch语句区间和元组模式匹配
在线教育网站制作平台,山西立德教育官网?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
BootStrap整体框架之基础布局组件
nodejs redis 发布订阅机制封装实现方法及实例代码
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
如何在宝塔面板中创建新站点?
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
如何基于云服务器快速搭建个人网站?
如何在腾讯云服务器上快速搭建个人网站?
Laravel Fortify是什么,和Jetstream有什么关系
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
如何快速生成专业多端适配建站电话?
如何实现建站之星域名转发设置?
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Laravel如何为API生成Swagger或OpenAPI文档
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
PHP正则匹配日期和时间(时间戳转换)的实例代码
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
奇安信“盘古石”团队突破 iOS 26.1 提权
Laravel如何创建自定义Facades?(详细步骤)
用yum安装MySQLdb模块的步骤方法
实例解析angularjs的filter过滤器
如何用狗爹虚拟主机快速搭建网站?
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
微信小程序 scroll-view组件实现列表页实例代码
如何在建站之星网店版论坛获取技术支持?
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
如何快速查询网址的建站时间与历史轨迹?
网站制作壁纸教程视频,电脑壁纸网站?
详解Android中Activity的四大启动模式实验简述
三星、SK海力士获美批准:可向中国出口芯片制造设备
Laravel怎么实现模型属性的自动加密
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
上一篇:fpm使用打包工具
上一篇:fpm使用打包工具


IT `cat /usr/loca/nginx/logs/nginx.pid.oldbin`