EC2 AWS 上的烧瓶

Posted

技术标签:

【中文标题】EC2 AWS 上的烧瓶【英文标题】:Flask on EC2 AWS 【发布时间】:2017-12-21 17:28:42 【问题描述】:

我正在尝试在 EC2 AWS 实例上使用 python 3.5 运行我的 Flask 应用程序。 我已经在我的系统上尝试了相同的应用程序,并且使用链接运行良好:

http://127.0.0.1:5000/api/v1.0/people/?email=jaffer@example.com

同样,我在 AWS 实例上启动了 Flask 应用程序,但是在以类似方式点击 url 后,我看不到输出: http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:5000/api/v1.0/people/

我启动应用程序为:

 python3.5 FlaskRestAPI.py
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

请告诉我我需要做什么才能看到输出?

【问题讨论】:

127.0.0.1 是本地主机接口。您需要将其绑定到外部 IP 或 0.0.0.0。 @DanielRoseman 我该怎么做.. 请你和我分享一下? 不知道。 FlaskRestAPI 是什么样的? @DanielRoseman 你的想法行之有效.. 谢谢 【参考方案1】:

您将需要某种 Web 服务器网关接口,例如 uWSGI 或 Gunicorn,并且很可能需要一个 Web 服务器/反向代理,例如 nginx 或 Apache。

这是一个使用 uWSGI 和 Nginx 的不错的教程:http://bathompso.com/blog/Flask-AWS-Setup/

【讨论】:

这不是必需的。您可以运行公共 Flask 服务器 如何运行公共烧瓶服务器?【参考方案2】:

一种更好的方法是使用 AWS 的 ElasticBeanstalk 服务在 AWS 上托管您的烧瓶应用程序。这是一个无缝的过程,它可以让您的烧瓶应用程序在几分钟内工作。您还将获得一个公共 URL,您可以通过该 URL 访问您的烧瓶应用程序。

此处提供了有关如何在 AWS 上使用 ElasticBeanstalk 的烧瓶应用程序的更详细说明:

Hosting a flask application using ElasticBeanstalk

【讨论】:

以上是关于EC2 AWS 上的烧瓶的主要内容,如果未能解决你的问题,请参考以下文章

Elastic Beanstalk:EC2 服务器上的应用程序目录/脚本位置

jac(jinja-assets-compressor)在 AWS elasticbeanstalk 上的烧瓶应用程序中不起作用

如何将aws上的ec2实例连接到我公司的***

将 EC2 实例连接到另一个 AWS 账户上的 RDS 卷

如何将我的 .war 文件复制到 AWS 上的 EC2 实例?

markdown EC2上的AWS redis-cli