首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使在代理服务备份之后,mod_proxy仍会返回503个错误。

即使在代理服务备份之后,mod_proxy仍会返回503个错误。
EN

Server Fault用户
提问于 2011-05-01 12:02:25
回答 2查看 19.2K关注 0票数 7

我已经将Apache2设置为红角角提供的多个python应用程序的前端服务器。我使用Apache2设置的mod_proxy如下所示:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName example.com
    UseCanonicalName On
    ServerAdmin webmaster@localhost

    LogLevel warn
    CustomLog /var/log/apache2/example.com/access.log combined
    ErrorLog /var/log/apache2/example.com/error.log
    ServerSignature On

    Alias /media/ /home/example/example.com/pysrc/project/media/

    ProxyPass /media/ !
    ProxyPass / http://127.0.0.1:4711/
    ProxyPassReverse / http://127.0.0.1:4711/
    ProxyPreserveHost On
    ProxyErrorOverride Off
</VirtualHost>

通常情况下,这个设置工作得很好。不过,我有一个问题:当我重新启动gunicorn进程(耗时2-5秒),并且有来自Apache的请求时,该请求将失败,出现503个错误。到目前一切尚好。但是Apache继续返回503个错误,即使在gunicorn进程恢复之后也是如此。只有在Apache完全重新启动之后,它才会从代理服务器恢复服务内容。

有办法绕过这种行为吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-05-07 18:29:17

retry=0添加到您的ProxyPass行:

代码语言:javascript
复制
ProxyPass / http://127.0.0.1:4711/ retry=0

来自国防部_代理文档

连接池工作人员重试超时(以秒计)。如果指向后端服务器的连接池工作人员处于错误状态,则在超时过期之前,Apache将不会向该服务器转发任何请求。这样可以关闭后端服务器以进行维护,并在稍后将其恢复联机。值为0意味着始终在没有超时的情况下重试处于错误状态的工作人员。

票数 26
EN

Server Fault用户

发布于 2011-05-07 06:46:56

你是按照记录的方法重新启动火鸟吗?

我建议一种简单的方法。如果在您的环境中2-5秒是可以接受的停机时间,那么我可以建议在您重新启动gunicorn服务之后立即重新启动Apache服务吗?

在生产环境中,我建议使用HAProxy而不是Apache作为前端,您可能会有更好的运气。

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

https://serverfault.com/questions/265199

复制
相关文章

相似问题

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