首頁 > 後端開發 > Golang > 主體

如何在Linux作業系統上部署Golang應用程式

PHPz
發布: 2023-04-14 09:37:58
原創
982 人瀏覽過

在今天的軟體開發中,使用Linux作為作業系統的比例越來越高,而Golang語言則因為其高效、簡潔和並發效能等特點,也被越來越多的開發者所青睞。在這篇文章中,我們將介紹如何在Linux作業系統上部署Golang應用程式。

  1. 安裝Golang環境

在開始部署Golang程式之前,我們需要先安裝Golang環境。首先下載Golang二進位安裝包,可以在官網上下載最新版本的二進位安裝包:https://golang.org/dl/。

下載完畢後,解壓縮文件,並將解壓縮後的資料夾移到/usr/local目錄下:

$ tar -C /usr/local -xzf go1.17.2.linux -amd64.tar.gz

接著,設定環境變量,將/usr/local/go/bin加入PATH:

$ export PATH=$PATH:/usr/local/ go/bin

為了驗證Golang環境是否正確安裝,可以使用以下命令:

$ go version

如果傳回Golang的版本信息,則表示Golang環境已經正確安裝。

  1. 寫Golang應用程式

在開始部署Golang應用程式之前,需要先寫一個Golang應用程式。這裡我們以一個簡單的HTTP服務為例:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })

    http.ListenAndServe(":8080", nil)
}
登入後複製

程式會在本機8080埠啟動一個HTTP服務。在瀏覽器中造訪http://localhost:8080,即可看到輸出Hello, World!的結果。

  1. 建構Golang程式

編寫好Golang程式後,需要進行建置。使用以下命令進行建置:

$ go build

該指令會將程式編譯成可執行檔。執行完畢後,會在目前目錄下產生一個名為main的檔案。

  1. 部署Golang程式

Golang應用程式的部署可以採用以下兩種方式:

4.1 直接執行執行檔

最簡單的方式是直接執行可執行檔。使用以下命令運行:

$ ./main

該命令會啟動Golang應用程序,並在本地8080連接埠啟動HTTP服務。

然而,該方式存在一些不足之處,例如程式崩潰後無法自動重啟,並且無法進行叢集部署等。

4.2 使用systemd進行管理

為了解決上述問題,可以使用systemd進行Golang程式的管理。 systemd是一個Linux系統下的系統和服務管理員。我們可以使用systemd將Golang程式當作一個系統服務來執行。

首先,建立一個名為myapp.service的service設定文件,並將以下內容複製到檔案中:

[Unit]
Description=My Golang App
After=syslog.target network.target

[Service]
Type=simple
ExecStart=/usr/local/golang/bin/myapp
Restart=on-failure

[Install]
WantedBy=multi-user.target
登入後複製

該設定檔描述了我們要執行的服務名稱為My Golang App,並在程式出現問題時進行重新啟動。

接著,將該檔案儲存到/etc/systemd/system目錄下,並使用以下命令重新載入systemd配置:

$ systemctl daemon-reload

#然後,使用以下命令啟動服務:

$ systemctl start myapp

使用以下命令檢查服務狀態:

$ systemctl status myapp

如果一切正常,請執行結果應該顯示為active (running)。

最後,使用以下命令使服務開機自啟動:

$ systemctl enable myapp

至此,我們成功部署了一個Golang程序,並以systemd管理該程式。

總結

本文介紹如何在Linux作業系統上部署Golang應用程式。首先,我們安裝了Golang環境,然後編寫了一個簡單的HTTP服務程序,接著使用go build指令進行建置。最後,我們介紹了兩種部署方式:直接執行可執行檔和使用systemd進行管理。希望本文能幫助各位開發者成功部署Golang程式。

以上是如何在Linux作業系統上部署Golang應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板