【发布时间】:2016-04-07 11:03:43
【问题描述】:
我刚刚开始测试 Google 计算引擎。现在我正在尝试在其上部署我的 Go (golang) 应用程序,以便可以从外部访问它。我使用计算引擎而不是应用引擎,因为我的应用程序需要 MongoDB 数据库。
我做了以下事情:
- 创建计算引擎实例
- 设置防火墙,使端口 1234 开放且 IP 为静态
- 安装 MongoDB
- 上传我的申请
- 开始
应用程序启动得很好。但是如果我在浏览器中使用 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