【问题标题】:Stop flask or gunicorn from printing to the console [duplicate]停止烧瓶或枪炮打印到控制台[重复]
【发布时间】:2021-02-13 01:58:04
【问题描述】:

我问了一个类似的问题,但没有得到任何帮助。本质上,我有一个烧瓶应用程序,它使用 gunicorn 作为 wsgi 和 nginx 作为网络服务器。出于某种原因,当我通过单独的 python 脚本(并且只有这个脚本,常规浏览器请求不这样做)发送发布请求时,服务器会将请求标头打印到控制台。问题在于,正如我所知道的,当我没有与服务器烧瓶/gunicorn 的 ssh 连接时(我不确定哪个实际在打印它)没有控制台可以打印。这会导致 500 内部服务器错误。当连接关闭时,我显然不能每 30 分钟不断地重新连接到服务器。我查看了 gunicorns 的文档,并且(通过我的研究)发现没有提到是什么导致了这种情况。这让我相信烧瓶是罪魁祸首,尽管我不能确定。输出如下所示

Host: [domain].com
X-Real-Ip: [my ip address]
X-Forwarded-For: [my ip address]
X-Forwarded-Proto: https
Connection: close
Content-Length: 18910
User-Agent: python-requests/2.25.1
Accept-Encoding: gzip, deflate
Accept: */*
Content-Type: application/x-www-form-urlencoded
Cookie: session=[session cookie]

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 您究竟是如何推出 gunicorn 的?如果 gunicorn 没有运行,Nginx 可能会返回 500 错误。从您的描述中不清楚,但听起来您谈论的 SSH 会话实际上是您运行 gunicorn 的地方。您可能需要调查将 gunicorn 作为后台服务启动,以便在您注销 SSH 时它继续运行? (这是否符合您的情况?再次,您的问题并没有说明这一点)。这需要更多信息,例如服务器的基本 python 代码,以及 nginx/gunicorn 配置详细信息,然后才能提供帮助。
  • @v25 gunicorn 即使我关闭连接也运行良好。我可以通过网络浏览器访问它,它工作得很好,没有错误。 (gunicorn -w 3 app:app)

标签: python nginx flask gunicorn


【解决方案1】:

简单的事情,在发送请求之前,通过使用 ping 确保您的服务器已启动。

如果 ping 响应成功,则发出 post 请求。否则 post call 会以异常结束,异常会导致像你这样的进一步请求的意外结果。

在这种情况下使用生成器,它不会给其他进程的执行带来麻烦。

如果需要定期发出请求,您最好使用 python 调度来运行任务。

【讨论】:

    猜你喜欢
    • 2020-08-26
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 2020-01-04
    • 1970-01-01
    • 2021-01-20
    相关资源
    最近更新 更多