首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx反向代理,无停机时间后端更新

nginx反向代理,无停机时间后端更新
EN

Server Fault用户
提问于 2015-03-13 05:40:51
回答 1查看 890关注 0票数 2

我有一个tomcat实例为请求服务,nginx作为这个tomcat实例的反向代理。

当我更新我的Java应用程序时,大约花费了10秒。但是这10秒的站点已经关闭,nginx返回HTTP 503页面。

我希望nginx做的是:暂停所有传入连接,直到后端结束。那就开始为他们服务。理想情况下进行一些智能检查,例如"/“返回HTTP 200。在我看来,用户等待10秒比查看HTTP 503页面更好。

我不想为此聚在一起。我使用应用程序中的缓存,而且我的web应用程序还远未加载。集群会带来很多问题,我不想花时间在上面。

我使用以下指令连接到tomcat:

代码语言:javascript
复制
proxy_pass            http://127.0.0.1:8080;
EN

回答 1

Server Fault用户

发布于 2015-03-13 05:45:53

如果您使用快速for与应用程序通信,则将fastcgi_read_timeoutfastcgi_connect_timeoutfastcgi_send_timeout设置为nginx“持有”客户端并等待应用程序响应的期望值。(即60秒)

浏览器将保持空白,直到应用程序响应,将等待60秒抛出503 (服务不可否认)或504 (网关超时),但应用程序上的套接字/端口必须侦听,即使是高负载,否则nginx可以从后端接收“拒绝连接”并将503抛给客户端。如果您的应用程序正在崩溃并移除套接字或关闭侦听端口,我不能100%确定这些优化是否会对您有所帮助,但是让它们进行配置是很好的。

如果您通过代理与应用程序交谈,正确变量的名称是proxy_read_timeoutproxy_connect_timeoutproxy_send_timeout

也许你只需要readconnect的。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/675166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档