【问题标题】:Deploy Go webserver to Google compute engine将 Go 网络服务器部署到 Google 计算引擎
【发布时间】:2016-04-07 11:03:43
【问题描述】:

我刚刚开始测试 Google 计算引擎。现在我正在尝试在其上部署我的 Go (golang) 应用程序,以便可以从外部访问它。我使用计算引擎而不是应用引擎,因为我的应用程序需要 MongoDB 数据库。

我做了以下事情:

  1. 创建计算引擎实例
  2. 设置防火墙,使端口 1234 开放且 IP 为静态
  3. 安装 MongoDB
  4. 上传我的申请
  5. 开始

应用程序启动得很好。但是如果我在浏览器中使用 ip:1234 打开它,我就无法从外部访问它。我也尝试以 root 用户身份在端口 80 上启动它,但这也没有用。

服务器配置如下:

{
    "host": "localhost:1234",
    "dbhost": "localhost",
    "db": "dbname",
    "logfile": "log"
}

当我使用 apache 服务器时,它服务于端口 80 并显示页面...操作系统是 ubuntu 14.04。

main 只是简单地将一些处理程序添加到 mux 并将 FileServer 添加到公共目录:

mux.Handle("/", http.FileServer(http.Dir(public_dir)))
// [...]
if err := http.ListenAndServe(cfg.Host, mux); err != nil {
    panic(err)
}

那么这里的问题是什么?

【问题讨论】:

    标签: http go server google-compute-engine


    【解决方案1】:

    尝试将 hostlocalhost 更改为 0.0.0.0,因为现在它只监听“内部”请求。

    【讨论】:

    • 我相信完全省略主机名也可以:":1234" .
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多