首頁  >  文章  >  後端開發  >  如何在Ubuntu系統上部署Golang項目

如何在Ubuntu系統上部署Golang項目

PHPz
PHPz原創
2023-04-27 09:10:201557瀏覽

身為開發者,在建立專案開發環境時,如何快速、穩定地部署和執行程式碼是必備技能之一。本文將分享如何在 Ubuntu 系統上進行 Golang 專案部署。

在開始前,需要完成以下幾個步驟:

  1. 安裝Golang 環境
  2. 安裝Git 工具

接下來,我們將分為以下幾個步驟來講解。

步驟一:取得程式碼

首先,我們需要取得專案程式碼。在終端機中輸入以下命令:

git clone https://github.com/username/repository.git

其中,https://github.com/username/repository.git 是專案的 Git 位址,可以在專案主頁中找到。

步驟二:編譯程式碼

完成程式碼拉取後,我們需要使用 Golang 工具鏈進行編譯。在專案目錄下,輸入以下指令:

go build main.go

其中,main.go 是專案的入口檔案。執行該指令後,會在專案目錄下產生一個可執行檔。

步驟三:執行程式碼

在完成編譯後,我們可以直接執行該執行檔。在終端機中輸入以下命令:

./main

執行該命令後,可執行檔即開始運作。

步驟四:配置後台運行

在實際部署中,我們需要將應用程式放在後台運行,以確保穩定性和持久性。以下是兩種常用的方式:

使用nohup 命令

nohup 可以使程式在後台運行,並將輸出重定向到指定文件,從而避免因為用戶退出終端而導致的程序強制退出。

在終端機中輸入以下命令:

nohup ./main > log.txt 2>&1 &

其中:

  • #nohup 啟動程序,並忽略HUP 訊號,使程式可以在後台運行;
  • ./main 是可執行檔案的路徑和檔案名稱;
  • ##> log.txt 將程式輸出的訊息重定向到log.txt 檔案中;
  • 2>&1 將標準錯誤輸出和標準輸入輸出合併,重定向到log.txt 檔案中;
  • & 將程式放入後台運行。
使用 systemd 服務

systemd 是常用的系統管理工具,可以管理系統的服務、流程等。我們可以將 Golang 專案封裝成一個 systemd 服務,從而實現自動啟動、自動重新啟動等功能。

以下是 systemd 服務檔案的範例:

[Unit]
Description=My Go Application

[Service]
Type=simple
Restart=always
User=root
ExecStart=/path/to/app/main

[Install]
WantedBy=multi-user.target
在該服務檔案中,我們需要定義服務的描述、類型、重新啟動機制等設定項。具體配置項目的含義可以參考 systemd 官方文件。

在設定完成後,我們可以使用以下指令啟動服務:

systemctl start my-go-app.service
要注意的是,服務檔案需要存放在

/etc/systemd/system 目錄下,並以.service 結尾。

至此,我們已經完成了在 Ubuntu 系統上部署 Golang 專案的整個流程。透過掌握以上技巧,你可以快速、穩定地部署和運行 Golang 項目,從而提高開發效率和程式碼可靠性。

以上是如何在Ubuntu系統上部署Golang項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn