开发者社区> 问答> 正文

nginx,tomcat手动重启的问题

落地花开啦 2016-03-25 14:31:31 1620

有一套JAVA的WEB系统,前端用nginx代理2个Tomcat(tomcat版本为5.5,64位),2个tomcat之间做了集群处理,运行的实际效果是2个tomcat之间的会话也确实同步了。由于业务需求的调整,tomcat上经常需要重新部署新的class及相关的一些xml配置文件,文件部署完成后,我们手工依次重启tomcat,由于在nginx上的负载策略我们采用默认轮询的方式,这时会出这样的现象,第一台tomcat重启第二台tomcat保持运行的过程中,客户端访问系统的时候,第一次访问页面的时候正常,第二次访问页面的时候,一直在等待,出现这样的情况,想想nginx的负载策略,也属正常情况(nginx轮询代理了)。
我的问题是:nginx有没有一种机制,在第一台tomcat重启前,提前发起一个通知,通知tomcat1即将要重启,让tomcat2暂时接管所有的请求,tomcat1重启成功后,在恢复负载。

XML 前端开发 Java 应用服务中间件 nginx 数据格式
分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:14:19

    没有这样的机制,你可以调低 Nginx proxy 的 timeout 时间, 30-50之间就可

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题