Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So stellen Sie Golang-Dienste unter Linux bereit

So stellen Sie Golang-Dienste unter Linux bereit

王林
王林nach vorne
2023-05-15 15:22:061132Durchsuche

1. Installieren Sie Golang und die erforderlichen Tools.

Bevor Sie Golang-Dienste bereitstellen, müssen Sie zunächst Golang und die erforderlichen Tools installieren. Es kann über den folgenden Befehl installiert werden:

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

Die letzte Zeile installiert das Git-Tool. Denn Golang-Projekte werden normalerweise über Git versioniert. Nachdem die Installation abgeschlossen ist, können Sie überprüfen, ob die Installation erfolgreich war, indem Sie den folgenden Befehl ausführen:

go version
git version

Wenn die beiden oben genannten Befehle beide die Versionsnummer ausgeben, bedeutet dies, dass die Installation erfolgreich war.

2. Golang-Dienste schreiben

Nach der Installation von Golang und den erforderlichen Tools können Sie mit dem Schreiben von Golang-Diensten beginnen. Am Beispiel eines einfachen HTTP-Dienstes ist das Folgende ein Codebeispiel:

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!")
}

Der Dienstcode hat eine einfache Funktion. Er überwacht den lokalen 8080-Port und gibt die Zeichenfolge „Hello, World!“ zurück. für jede Anfrage. Verwenden Sie die Methode http.HandleFunc, um eine Route und eine Handlerfunktion für diese Route anzugeben. http.HandleFunc 方法来指定路由和对该路由的处理函数。

三、构建并测试 Golang 服务

在编写好 Golang 服务代码后,需要进行构建并测试。可以使用以下命令来构建服务:go build。该命令会在当前目录下生成可执行文件。在测试前,需要先修改一下当前用户的防火墙规则,以允许该服务监听 8080 端口。可以使用以下命令:

sudo ufw allow 8080/tcp

修改完成后,即可启动服务进行测试。可以使用以下命令启动服务:

./<可执行文件名> &

其中的 & 符号表示将服务放在后台运行。启动成功后即可使用浏览器或者 curl 命令来访问该服务。

四、使用 PM2 进行 Golang 服务部署

手动启动 Golang 服务显然不太友好,特别是当需要对该服务进行重启或监控时,更不方便。所以,可以使用 PM2 工具来进行服务的管理和部署。PM2 是一个 Node.js 生态圈中的进程管理工具,不过它也支持管理其他语言编写的进程,包括 Golang。以下是使用 PM2 进行 Golang 服务部署的示例:

  1. 安装 PM2

sudo npm install -g pm2
  1. 进入服务程序所在目录,并使用以下命令启动服务:

pm2 start <可执行文件名> --name=<服务名称>

其中,--name

3. Erstellen und testen Sie den Golang-Dienst.
  1. Nachdem Sie den Golang-Dienstcode geschrieben haben, müssen Sie ihn erstellen und testen. Der Dienst kann mit dem folgenden Befehl erstellt werden: go build. Dieser Befehl generiert eine ausführbare Datei im aktuellen Verzeichnis. Vor dem Test müssen Sie die Firewallregeln des aktuellen Benutzers ändern, damit der Dienst Port 8080 überwachen kann. Sie können den folgenden Befehl verwenden:

    pm2 list

    Nachdem die Änderung abgeschlossen ist, können Sie den Dienst zum Testen starten. Sie können den folgenden Befehl verwenden, um den Dienst zu starten:
  2. pm2 restart <服务名称>
    pm2 stop <服务名称>
    pm2 delete <服务名称>
Die Symbole & zeigen an, dass der Dienst im Hintergrund ausgeführt wird. Nach erfolgreichem Start können Sie über einen Browser oder den Befehl curl auf den Dienst zugreifen.
  1. 4. Verwenden Sie PM2 für die Bereitstellung des Golang-Dienstes

    Das manuelle Starten des Golang-Dienstes ist offensichtlich nicht sehr benutzerfreundlich, insbesondere wenn der Dienst neu gestartet oder überwacht werden muss, ist es noch mehr unbequem. Daher können PM2-Tools für die Serviceverwaltung und -bereitstellung verwendet werden. PM2 ist ein Prozessmanagement-Tool im Node.js-Ökosystem, unterstützt aber auch die Verwaltung von Prozessen, die in anderen Sprachen, einschließlich Golang, geschrieben sind. Das Folgende ist ein Beispiel für die Verwendung von PM2 für die Golang-Dienstbereitstellung:
    1. #🎜🎜#Install PM2#🎜🎜##🎜🎜##🎜🎜 #rrreee
        #🎜🎜##🎜🎜#Geben Sie das Verzeichnis ein, in dem sich das Dienstprogramm befindet, und verwenden Sie den folgenden Befehl, um den Dienst zu starten: #🎜🎜# #🎜🎜##🎜🎜# rrreee#🎜🎜#Unter diesen wird der Parameter --name verwendet, um den Namen des Dienstes anzugeben. #🎜🎜##🎜🎜##🎜🎜##🎜🎜# Sie können den folgenden Befehl verwenden, um den Status des Dienstes anzuzeigen: #🎜🎜##🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜 ##🎜🎜 #Für Prozesse, die von PM2 verwaltet wurden, können Sie den folgenden Befehl verwenden, um den Dienst zu betreiben: #🎜🎜##🎜🎜##🎜🎜#rrreee

    Das obige ist der detaillierte Inhalt vonSo stellen Sie Golang-Dienste unter Linux bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen