將 Go Web 應用程式部署至 Azure Stack Hub 中的 VMDeploy a Go web app to a VM in Azure Stack Hub

您可以在 Azure Stack Hub 中建立用來裝載 Go Web 應用程式的虛擬機器 (VM)。You can create a virtual machine (VM) to host a Go web app in Azure Stack Hub. 在本文中,您可設定伺服器、設定伺服器來裝載 Go Web 應用程式,然後將應用程式部署至 Azure Stack Hub。In this article, you set up a server, configure the server to host your Go web app, and then deploy the app to Azure Stack Hub.

建立 VMCreate a VM

  1. 請依照在 Azure Stack Hub 中部署用來裝載 Web 應用程式的 Linux VM 中的指示,在 Azure Stack Hub 中設定 VM。Set up your VM in Azure Stack Hub by following the instructions in Deploy a Linux VM to host a web app in Azure Stack Hub.

  2. 在 VM 網路窗格中,確定可存取下列連接埠:In the VM network pane, make sure that the following ports are accessible:

    連接埠Port 通訊協定Protocol 描述Description
    8080 HTTPHTTP 超文字傳輸通訊協定 (HTTP) 是用於從伺服器提供網頁的通訊協定。Hypertext Transfer Protocol (HTTP) is the protocol that's used to deliver webpages from servers. 用戶端會使用 DNS 名稱或 IP 位址透過 HTTP 連線。Clients connect via HTTP with a DNS name or IP address.
    443443 HTTPSHTTPS 超文字傳輸通訊協定安全 (HTTPS) 是安全的 HTTP 版本,其需要安全性憑證並允許加密的資訊傳輸。Hypertext Transfer Protocol Secure (HTTPS) is a secure version of HTTP that requires a security certificate and allows for the encrypted transmission of information.
    2222 SSHSSH 安全殼層 (SSH) 是安全通訊的加密網路通訊協定。Secure Shell (SSH) is an encrypted network protocol for secure communications. 您會使用此連線與 SSH 用戶端來設定 VM 及部署應用程式。You use this connection with an SSH client to configure the VM and deploy the app.
    33893389 RDPRDP 選擇性。Optional. 遠端桌面通訊協定 (RDP) 可讓遠端桌面連線在您的機器上使用圖形化使用者介面。The Remote Desktop Protocol (RDP) allows a remote desktop connection to use a graphic user interface on your machine.
    30003000 CustomCustom Go Web 架構在開發過程中會使用連接埠 3000。Port 3000 is used by the Go web framework in development. 針對生產伺服器,您可透過 80 和 443 來傳送流量。For a production server, you route your traffic through 80 and 443.

安裝 GoInstall Go

  1. 使用 SSH 用戶端連線到 VM。Connect to your VM by using your SSH client. 如需指示,請參閱透過 SSH 與 PuTTY 進行連線For instructions, see Connect via SSH with PuTTY .

  2. 在您 VM 的 Bash 提示字元中,輸入下列命令:At the bash prompt on your VM, enter the following commands:

    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 環境。Set up the Go environment on your VM. 在您仍處於自己的 SSH 工作階段中,且仍與 VM 保持連線的情況下,輸入下列命令:While you're still connected to your VM in your SSH session, enter the following commands:

    export GOROOT=/usr/local/go
    export GOPATH=$HOME/Projects/ADMFactory/Golang
    export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
    
    vi ~/.profile
    
  4. 驗證您的安裝。Validate your installation. 在您的 SSH 工作階段中仍連線至 VM 的情況下,輸入下列命令:While you're still connected to your VM in your SSH session, enter the following command:

        go version
    
  5. 安裝 Git,這是一種廣為人知的版本控制暨原始程式碼管理 (SCM) 系統。Install Git, a widely distributed version control and source code management (SCM) system. 在您的 SSH 工作階段中仍連線至 VM 的情況下,輸入下列命令:While you're still connected to your VM in your SSH session, enter the following command:

       sudo apt-get -y install git
    

部署並執行應用程式Deploy and run the app

  1. 在您的 VM 上設定 Git 存放庫。Set up your Git repository on the VM. 在您仍處於自己的 SSH 工作階段中,且仍與 VM 保持連線的情況下,輸入下列命令:While you're still connected to your VM in your SSH session, enter the following commands:

       git clone https://github.com/appleboy/go-hello
    
       cd go-hello
       go get -d
    
  2. 啟動應用程式。Start the app. 在您的 SSH 工作階段中仍連線至 VM 的情況下,輸入下列命令:While you're still connected to your VM in your SSH session, enter the following command:

       go run hello-world.go
    
  3. 前往您的新伺服器。Go to your new server. 您應該會看到執行中的 Web 應用程式。You should see your running web application.

       http://yourhostname.cloudapp.net:3000
    

後續步驟Next steps