暂无图片
nginx如何平滑切换nginx?
我来答
分享
暂无图片 匿名用户
nginx如何平滑切换nginx?

nginx如何平滑切换nginx?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新

1. 安装新的 nginx 版本,和原有版本并行存在。

2. 修改配置文件 nginx.conf,指定使用新的 nginx 版本。例如原来使用 /usr/local/nginx,现在使用 /usr/local/nginx-new。

3. 发送信号给原有 nginx 进程,处于等待状态,不再接受新的请求,但继续处理旧请求。

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

4. 启动新的 nginx 进程。

/usr/local/nginx-new/sbin/nginx
复制

5. 等待一段时间,确保原有 nginx 已经处理完所有旧请求后,再发送信号让其平滑退出。

kill -WINCH `cat /usr/local/nginx/logs/nginx.pid`
复制

6. 如果启动新的 nginx 进程失败,可以发送信号让原有 nginx 进程恢复正常,然后进行修复。

kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
复制

这是 nginx 提供的平滑重载机制,主要通过维持两代 nginx 同时运行,并通过信号的方式让其一一过渡而不中断服务实现的。要注意的点主要有:1. 旧 nginx 和新 nginx 的配置要基本一致,特别是 listen 配置。
2. 发送信号的时间点要把握好,不能让两个 nginx 同时处于正常处理请求的状态。
3. 要监控日志,确保每一步的执行是正常的。如果出现问题要及时回滚。

暂无图片 评论
暂无图片 有用 4
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
nginx重定向
回答 2
谢谢啦,完成了
nginx设置了json格式,索引怎么按nginx字段区分显示?
回答 3
已采纳
如果用的是elk套件抽取ngx日志,那么可以在filebeat配置模块过滤和字段对应,配置这文件在filebeat/modules.d/nginx.yml对应官方文档:https://www.elas
Nginx负载和Nginx反代有什么区别?
回答 2
已采纳
做了反向代理才能实现负载均衡。负载均衡是做反向代理的目的之一反向代理就是后端服务不直接对外暴露,请求首先发送到nginx,然后nginx将请求转发到后端服务器,比如tomcat等.如果后端服务只有一台
如何获取到nginx配置文件目录?
回答 1
已采纳
/usr/sbin/nginxt
服务器有Nginx进程,如何查找Nginx启动文件bin目录?
回答 1
已采纳
psaux|grepnginx
备份nginx的日志,压缩后的log为空?
回答 1
咋感觉你这个是中英输入法混搭?
fastdfs整合nginx,对nginx的版本有要求吗 ?
回答 1
已采纳
没有要求,但需要单独安装插件fastdfsnginxmodule;好像Minio也是不错的选择
做了nginx+php,配置好ssl后,为什么访问网页直接弹下载?
回答 5
看一下这个文章https://blog.csdn.net/weixin34101577/article/details/115971744
Nginx的HTTPS静态页面部署,http能访问但是加了证书https还是不行,直接访问就提示ERR_CONNECTION_REFUSED了?
回答 1
证书怎么加的?后端用的是tomcat吗?配置文件发出来看下。
Nginx 单线程支持负载均衡吗?
回答 1
Nginx单线程支持负载均衡,但是它不是最好的选择。如果您的应用程序需要处理大量的并发请求,那么使用多线程或多进程的负载均衡器可能会更好。