【发布时间】:2013-07-23 00:18:01
【问题描述】:
我有一个非常简单的 Flask 应用程序,我将它托管在 Amazon EC2 节点上,无论出于何种原因,我都无法在外部看到它。烧瓶应用在这里
from flask import Flask
app = Flask(__name__)
app.config['DEBUG'] = False
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/p1')
def p1():
return "P1!!!"
if __name__ == '__main__':
app.run(host='0.0.0.0')
当我运行脚本时,看起来服务器运行良好,所以在我的浏览器中(在另一台计算机上)我输入了以下内容:5000(我从 AWS 中提取的 IP 地址)。有趣的是它似乎只是挂起,并最终产生错误。我的猜测是我在 AWS 中缺少一些配置,但我不知道它是什么。任何帮助将不胜感激
编辑我尝试在本地机器上部署应用程序。当我尝试使用 localhost:5000 从浏览器访问它时,它可以工作。当我用我的 IP 地址替换 localhost 时,它会失败
【问题讨论】:
-
你能显示你正在尝试的确切网址吗?
-
当然,看看我更新的问题
-
不确定我是否关注你。如果您只是在本地机器上运行它,那么只需使用 127.0.0.1:5000 (localhost)。要将其部署在 EC2 上,您需要使用实际的 Web 服务器,例如 Apache 等。您是否阅读了 flask 的部署文档? flask.pocoo.org/docs/quickstart/#deploying-to-a-web-server
-
我有,但我想知道是否有办法解决这个问题,否则告诉本地主机监听所有 IP 的意义何在。我主要问是因为网络应用程序只会在短时间内启动,如果可以的话,我宁愿在本地主机上运行它。另一个问题,如果我使用 127.0.0.1:5000,它仍然不起作用。但是 localhost:5000 确实
标签: python-2.7 amazon-web-services amazon-ec2 flask