【发布时间】: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