google-app-engine - 无法从 Vagrant 访问 Google Cloud SDK for Python 的本地开发服务器
问题描述
我在 Vagrant 框中运行本地开发服务器并尝试在 Chrome(主机)中打开它。但它无法在主机中打开。在客户机中使用curl
on localhost:7000 返回 HTML 内容。这是我的流浪文件
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.provision :shell, path: "setup_dev_env.sh"
config.vm.box_check_update = false
config.vm.network "forwarded_port", guest: 7080, host: 7080, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 7000, host: 7000, host_ip: "127.0.0.1"
config.vm.synced_folder "SOME_PATH", "/home/vagrant/code"
config.vm.provider "virtualbox" do |vb|
vb.gui = false
vb.memory = "4096"
end
end
运行服务器(客户机)的命令:
python /home/vagrant/code/google-cloud-sdk/platform/google_appengine/dev_appserver.py PATH_TO_app.yaml --port=7080 --admin_port=7000 --datastore_path=~/BLAH.db
解决方案
运行命令时需要添加以下内容(https://cloud.google.com/appengine/docs/standard/python3/tools/local-devserver-command)
--主机=...
用于服务器的主机地址。您可能需要设置此项以便能够从网络上的另一台计算机访问开发服务器。的地址
0.0.0.0
允许本地主机访问和 IP 或主机名访问。默认为localhost
。
在您的情况下,在 vagrant 中运行,您需要确保它绑定到0.0.0.0
python /home/vagrant/code/google-cloud-sdk/platform/google_appengine/dev_appserver.py \
PATH_TO_app.yaml \
--host=0.0.0.0 --port=7080 --admin_port=7000 --datastore_path=~/BLAH.db
推荐阅读
- c# - MVC Html.复选框
- python - 图片刮板不下载图片
- python - Timeit 模块拒绝 print("\n") 语句
- arrays - 如何避免 JSON 中的冗余字符串?
- android - 在这种情况下(在 Kotlin 中)哪些数据或如何绑定数据?
- angular - Angular 11 - 类型 '(controlArray: FormArray) => ValidationErrors | null' 不可分配给类型 'ValidatorFn'
- three.js - 剪切平面处的 Three.js 网格变形
- eclipse - 如何在 Eclipse 中使用 maven 引入 apache httpComponents
- c# - 在Update中设置位置时相机抖动统一,在LateUpdate中设置相机旋转
- express - 服务器上的所有连接都需要 SSL 吗?