【问题标题】:Wrong way to deploy Python Flask app? [duplicate]部署 Python Flask 应用程序的错误方法? [复制]
【发布时间】:2017-08-26 09:38:39
【问题描述】:

我一直在尝试找出如何正确部署我使用 Flask 编写的 Python 应用程序。它确实有效,但我所看到的只是如何使用 FastCGI、uWSGI 或其他类似方法进行部署,这让我相信我的方法是错误的。

基本上我有一个 Flask 应用程序,它有类似 /api/1.0/news/ 的路由,当我在本地运行应用程序时,我通过例如访问它。 http://localhost:5000/api/1.0/news/ 我得到了我期望的 jsonified 响应。

现在,在我使用 nginx 的 VPS 上,我以相同的方式进行了设置,并在ufw 中允许了端口 5000。所以当我在服务器上运行这个时: python manage.py runserver -h 0.0.0.0 它就像在我的本地环境中一样运行它。然后,我可以使用真实 IP 访问相同的功能,而 JSON 响应正是我使用浏览器打开 http://1.2.3.4:5000/api/1.0/news 时所期望的。

在 Ubuntu 14.04 上的 screen 中保持这样运行会不会是错误的?因为据我所知,FastCGI、uWSGI 等的目的只是将请求转换为应用程序可以理解的内容?或者它们是否还提供了比上述方法其他一些关键/重要的优势?

它的目的是成为我面向公众的前端在内部使用的非公共 API。第三方无法访问 API。为此,我稍后将在 Python 应用程序中进行身份验证。

【问题讨论】:

    标签: python flask deployment


    【解决方案1】:

    正如here 解释的那样,“Flask 的内置服务器不适合生产,因为它不能很好地扩展,并且默认情况下一次只处理一个请求。”而其他方法,如 FastCGI 和 uWSGI 则可以做到这一点。

    【讨论】:

    • 哦,这很关键。不知怎的,我忽略了那部分,谢谢!
    猜你喜欢
    • 2018-04-07
    • 2022-06-30
    • 2020-10-08
    • 1970-01-01
    • 2019-08-29
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多