python - Vagrant,Flask — 应用程序未在 10.10.10.10、127.0.0.1 上运行

标签 python flask ip vagrant vagrantfile

我正在通过 Vagrant 在我的本地机器上运行一个应用程序。 Python/Flask 应用启动并打印:

* 在 http://127.0.0.1:5000/上运行 *重新启动重新加载

我找到了这个 https://github.com/makersquare/student-dev-box/wiki/Using-Vagrant-for-Development#testing-web-based-applications-in-vagrant 这表明 Vagrant 应用程序在 10.10.10.10(而不是 127.0.0.1)上运行,但是当我导航到该 IP 地址(端口 5000)时,我得到了相同的结果: “此网页不可用”。

问题:我的应用程序正在运行,但 IP 地址是什么?我好像找不到。是否需要修改一些配置文件?

提前致谢。

最佳答案

有很多方法可以在虚拟机(由 vagrant 管理)上运行 flask web 应用程序。我认为以下方法非常灵活,因为您不必处理不同的 ip 地址。而且看起来您正在主机上进行开发。

您需要配置两件事。在VagranFile中,您需要配置端口转发。

Vagrant.configure(2) do |config|
  # use default box
  config.vm.box = "ubuntu/trusty64"

  # forward port guest machine:5000 -> host machine:5000
  # port 5000 is default for flask web app
  config.vm.network "forwarded_port", guest: 5000, host: 5000
end

然后,在虚拟机上,您应该在 ip 0.0.0.0 上启动 flask 应用程序,这意味着网络应用程序将为任何 IP 地址提供服务。有关此主题的更多信息 -> flask doc 外部可见服务器

部分
if __name__ == "__main__":
    app.run("0.0.0.0", debug=True)

就是这样。您应该能够连接到 http://localhost:5000

关于python - Vagrant,Flask — 应用程序未在 10.10.10.10、127.0.0.1 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29088056/

相关文章:

python:任意顺序

python - urllib2 没有检索整个 HTTP 响应

python - 统一码编码错误 : 'ascii' codec can't encode character u'\xe4'

python - 如何从flask Restful API返回图像?

python - 如果我的 mysql 套接字不在/tmp 中,是否可以将 Mysql 与 SqlAlchemy 和 Flask 一起使用?

python - 如何确保请求是从轮换 IP 发出的?

azure - 如何访问在 Azure 上创建的公共(public) IP 地址的 DNS 名称上的子域?

python - 是否有类似 Visual Studio 的工具来为 Python 创建 GUI?

python - 绑定(bind)参数 0 时出错 - 可能是不受支持的类型。 SQL/Python

使用 grep 匹配冒号和斜线中的 IP 地址的正则表达式