猿问

将 Go 网络服务器部署到 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)

}

那么这里有什么问题呢?


慕妹3242003
浏览 194回答 1
1回答

Cats萌萌

尝试host从更改localhost为0.0.0.0,因为现在它只侦听“内部”请求。
随时随地看视频慕课网APP

相关分类

Go
我要回答