将 Go Web 应用部署到 Azure Stack Hub 中的 VM

可以创建一个虚拟机 (VM) 来托管 Azure Stack Hub 中的 Go Web 应用。 在本文中,你将设置一个服务器,将该服务器配置为托管 Go Web 应用,然后将该应用部署到 Azure Stack Hub。

创建 VM

  1. 按照部署 Linux VM 以在 Azure Stack Hub 中托管 Web 应用中的说明,在 Azure Stack Hub 中设置 VM。

  2. 在“VM 网络”窗格中,确保可以访问以下端口:

    端口 协议 说明
    80 HTTP 超文本传输协议 (HTTP) 是用于从服务器传递网页的协议。 客户端使用 DNS 名称或 IP 地址通过 HTTP 进行连接。
    443 HTTPS 安全超文本传输协议 (HTTPS) 是 HTTP 的安全版本,它需要一个安全证书,并允许对信息进行加密传输。
    22 SSH 安全外壳 (SSH) 是一种用于安全通信的加密网络协议。 你在 SSH 客户端上使用此连接来配置 VM 并部署应用。
    3389 RDP 可选。 远程桌面协议 (RDP) 允许远程桌面连接使用计算机的图形用户界面。
    3000 自定义 开发中的 Go Web 框架使用端口 3000。 对于生产服务器,通过 80 和 443 路由流量。

安装 Go

  1. 使用 SSH 客户端连接到 VM。 有关说明,请参阅使用 PuTTY 通过 SSH 进行连接

  2. 在 VM 上的 bash 提示符下,输入以下命令:

    wget https://dl.google.com/go/go1.10.linux-amd64.tar.gz
    sudo tar -xvf go1.10.linux-amd64.tar.gz
    sudo mv go /usr/local
    
  3. 在 VM 上设置 Go 环境。 仍在 SSH 会话中连接到 VM 时,输入以下命令:

    export GOROOT=/usr/local/go
    export GOPATH=$HOME/Projects/ADMFactory/Golang
    export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
    
    vi ~/.profile
    
  4. 验证安装。 仍在 SSH 会话中连接到 VM 时,输入以下命令:

        go version
    
  5. 安装 Git,一种广泛分布的版本控制和源代码管理 (SCM) 系统。 仍在 SSH 会话中连接到 VM 时,输入以下命令:

       sudo apt-get -y install git
    

部署和运行应用

  1. 在 VM 上设置 Git 存储库。 仍在 SSH 会话中连接到 VM 时,输入以下命令:

       git clone https://github.com/appleboy/go-hello
    
       cd go-hello
       go get -d
    
  2. 启动应用。 仍在 SSH 会话中连接到 VM 时,输入以下命令:

       go run hello-world.go
    
  3. 转到新服务器。 应会看到你的 Web 应用程序正在运行。

       http://yourhostname.cloudapp.net:3000
    

后续步骤