【问题标题】:running a web application on GCE instance re在 GCE 实例上运行 Web 应用程序
【发布时间】:2013-11-12 18:13:39
【问题描述】:

按照this 教程,我正在学习如何使用virtualenvflask 创建一个RESTful python 服务

我创建了一个小的hello world Web 应用程序并执行了它:./app.py。 结果是:

* Running on http://127.0.0.1:5000/
* Restarting with reloader

但是当我打开浏览器并输入http://<external ip>:5000,而不是看到 hello world 我得到:

无法连接到 :5000

我错过了什么?

【问题讨论】:

  • http://:5000 是错字吗?如果没有,请尝试http://127.0.0.1:5000/。如果您是 Flask 新手,另一个很好的教程:The Flask Mega-Tutorial
  • @Seberius 是的,这是一个错字,谢谢,我的 Web 应用程序在 GCE 上运行,所以试图从我的 macbook 调用它,我将 127.0.0.1 替换为 GCE 实例的外部 ip
  • 好的,这是一个部署,根据标题是有意义的。不幸的是,我没有 GCE 的经验。您可能希望更新问题以包含您应用的配置,以帮助其他人解决问题。

标签: python flask debian virtualenv google-compute-engine


【解决方案1】:

此消息清楚地说明了您缺少的内容:

Running on http://127.0.0.1:5000/

服务器只监听localhost 地址,所以它不会看到来自其他机器的连接。如果你想让服务器监听公共接口,你需要修改app.run()这一行:

app.run(host = '0.0.0.0', debug = True)

【讨论】:

  • 一旦我投入生产,配置服务的正确方法是什么?
  • 在生产环境中你不想使用 Flask 自己的 web 服务器,你需要使用更健壮的服务器,比如 nginx 或 apache。 Flask 提供了有关配置这些和其他 Web 服务器以进行生产的信息。
  • 刚刚发现你是我正在关注的教程的作者,很棒的教程,谢谢!!!
猜你喜欢
  • 2019-04-21
  • 1970-01-01
  • 2018-08-31
  • 2014-08-22
  • 2012-08-04
  • 1970-01-01
  • 2021-03-31
  • 2018-03-18
  • 1970-01-01
相关资源
最近更新 更多