二维码

python – 重新启动Web服务器而不影响用户?

801 人阅读 | 时间:2021年12月07日 10:21

提问

我可以想到有很多技巧可以做到这一点:


>在不同的端口和/或IP上设置副本Web服务器,然后使用DNS作为负载均衡器;一次重启一台服务器
>使用更明确的负载平衡(如Heroku和OpenShift使用的PaaS)和隐式副本
>使用一些内置机制(例如:在nginx中)

我正在IaaS解决方案中工作,并将设置git和一些监听器来处理整个设置.

什么是重新启动网络服务器的最佳方法 – 所以我的Python网络应用程序的最新版本可以上线 – 而不会明显影响网站访问者/用户/客户?

最佳答案

越简单越好,没有银弹.


>对于单个服务器,正常重启机制可能会有所帮助.它将启动新进程以接受新请求,并维护旧进程,直到旧请求完成. Nginx已经使用了这个,见http://wiki.nginx.org/CommandLine#Stopping_or_Restarting_Nginx
>对于多个服务器,使用反向代理是一种很好的做法.示例结构如下所示,可以使用Nginx轻松构建:

如果某些后端服务器发生故障,则反向代理可以将请求分派给其他正常的服务器,并且不会影响用户.您可以自定义负载平衡策略以进行细粒度控制.您还可以灵活地添加服务器以进行扩展,或者选择服务器进行故障排除或代码更新.


©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×