溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Linux上進行Golang服務(wù)部署

發(fā)布時間:2023-05-09 11:48:09 來源:億速云 閱讀:123 作者:iii 欄目:編程語言

這篇文章主要介紹了怎么在Linux上進行Golang服務(wù)部署的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么在Linux上進行Golang服務(wù)部署文章都會有所收獲,下面我們一起來看看吧。

一、安裝 Golang 和必要的工具

在進行 Golang 服務(wù)部署前,首先需要安裝 Golang 及必要的工具??梢酝ㄟ^以下命令來安裝:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install golang
sudo apt-get install git

其中,最后一行安裝了 Git 工具。因為 Golang 項目通常都是通過 Git 進行版本管理的。安裝完成后,可以通過以下命令檢查是否安裝成功:

go version
git version

如果以上兩個命令均輸出版本號,則表示安裝成功。

二、編寫 Golang 服務(wù)

在安裝好 Golang 和必要的工具之后,就可以開始編寫 Golang 服務(wù)了。以一個簡單的 HTTP 服務(wù)為例,以下是代碼示例:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", helloHandler)
    fmt.Println("Server started on port 8080")
    http.ListenAndServe(":8080", nil)
}

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

該服務(wù)代碼功能簡單,監(jiān)聽本地的 8080 端口,并對每個請求返回 "Hello, World!" 的字符串。使用 http.HandleFunc 方法來指定路由和對該路由的處理函數(shù)。

三、構(gòu)建并測試 Golang 服務(wù)

在編寫好 Golang 服務(wù)代碼后,需要進行構(gòu)建并測試??梢允褂靡韵旅顏順?gòu)建服務(wù):go build。該命令會在當(dāng)前目錄下生成可執(zhí)行文件。在測試前,需要先修改一下當(dāng)前用戶的防火墻規(guī)則,以允許該服務(wù)監(jiān)聽 8080 端口??梢允褂靡韵旅睿?/p>

sudo ufw allow 8080/tcp

修改完成后,即可啟動服務(wù)進行測試。可以使用以下命令啟動服務(wù):

./<可執(zhí)行文件名> &

其中的 & 符號表示將服務(wù)放在后臺運行。啟動成功后即可使用瀏覽器或者 curl 命令來訪問該服務(wù)。

四、使用 PM2 進行 Golang 服務(wù)部署

手動啟動 Golang 服務(wù)顯然不太友好,特別是當(dāng)需要對該服務(wù)進行重啟或監(jiān)控時,更不方便。所以,可以使用 PM2 工具來進行服務(wù)的管理和部署。PM2 是一個 Node.js 生態(tài)圈中的進程管理工具,不過它也支持管理其他語言編寫的進程,包括 Golang。以下是使用 PM2 進行 Golang 服務(wù)部署的示例:

  1. 安裝 PM2

sudo npm install -g pm2

  1. 進入服務(wù)程序所在目錄,并使用以下命令啟動服務(wù):

pm2 start <可執(zhí)行文件名> --name=<服務(wù)名稱>

其中,--name 參數(shù)用于指定服務(wù)的名稱。

  1. 可以使用以下命令來查看服務(wù)的狀態(tài):

pm2 list

  1. 對于已經(jīng)被 PM2 管理的進程,可以使用以下命令來對該服務(wù)進行操作:

pm2 restart <服務(wù)名稱>
pm2 stop <服務(wù)名稱>
pm2 delete <服務(wù)名稱>

關(guān)于“怎么在Linux上進行Golang服務(wù)部署”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“怎么在Linux上進行Golang服務(wù)部署”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI