【问题标题】:Consistent connection refused error while using gunicorn within a docker container在 docker 容器中使用 gunicorn 时出现一致的连接被拒绝错误
【发布时间】:2017-12-26 17:40:57
【问题描述】:

所以我在烧瓶网络服务器上使用 gunicorn 网络服务器。对服务器的 5 个请求中有 3 个失败并出现以下错误:

Exception: I/O error on POST 
    Connection refused (Connection refused); nested exception is org.apache.http.conn.HttpHostConnectException

我在运行此 gunicorn 网络服务器的 docker 容器的 2 核 VM 上有 4 个工作节点。 这个异常对 gunicorn 的人来说是不是很熟悉? 从异常中,我明白没有什么可以监听请求可能是因为所有工作人员都忙于处理其他请求。

不确定如何解决此问题。它将工人从 4 个增加到 9 个,但没有运气。

docker 文件有以下 gunicorn 条目

EXPOSE 5000
ENTRYPOINT ["/usr/local/bin/gunicorn", "--config", "/src/gunicConfig.py", "driverApp:app"]

gonicConfig.py 看起来像这样:

bind = "0.0.0.0:5000"
workers = 4

【问题讨论】:

  • 分享更多关于您的设置的详细信息。此时我们只能猜测。
  • 我在 dockerfile 和 gunicorn 配置条目中添加了 gunicorn 相关条目。不知道还需要什么。这样就够了吗?
  • gunicorn 有像 uWSGI 这样的统计服务器吗?这应该使了解工人在做什么变得微不足道。也许您的客户端使用连接池并保持连接打开,直到它们启动?您是否运行反向代理?
  • 没有反向代理。客户端没有连接池。我会看看 uWSGI 告诉我的有关工人的信息。

标签: python docker gunicorn


【解决方案1】:

由于您提供的信息很少,而且我在部署服务器时看到了类似的问题,它看起来像以下任一情况:

  1. 您不提供 5 个查询中的 3 个查询 - 检查完整的 URL 链接和扩展名。网址可能格式不正确
  2. 防火墙
  3. 您的代理需要身份验证吗?如果是,在请求之前是否经过身份验证

分享您的跟踪以获取更多输入

【讨论】:

  • 伴随连接被拒绝错误,它也给出I/O错误
  • 分享您的堆栈跟踪,而看不到我所能预测的所有跟踪。
猜你喜欢
  • 2021-12-31
  • 2019-10-20
  • 1970-01-01
  • 1970-01-01
  • 2021-07-01
  • 2016-01-13
  • 2021-02-21
  • 2020-07-10
  • 1970-01-01
相关资源
最近更新 更多