So stellen Sie Golang-Dienste unter Linux bereit

PHPz
Freigeben: 2023-04-05 14:20:18
Original
1548 Leute haben es durchsucht

Golang ist in den letzten Jahren eine sehr beliebte Programmiersprache. Sie bietet viele Vorteile wie präzisen Code, schnelle Ausführungsgeschwindigkeit und starke Parallelitätsfähigkeiten. Sie wird häufig im Bereich der serverseitigen Entwicklung eingesetzt. In diesem Artikel wird erläutert, wie Golang-Dienste auf Linux-Systemen bereitgestellt werden.

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Wenn beide oben genannten Befehle 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!")
}
Nach dem Login kopieren

Der Dienstcode hat eine einfache Funktion, lauscht auf den lokalen Port 8080 und gibt für jede Anfrage die Zeichenfolge „Hello, World!“ zurück. 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
Nach dem Login kopieren

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

./<可执行文件名> &
Nach dem Login kopieren

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

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

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

  1. 安装 PM2
sudo npm install -g pm2
Nach dem Login kopieren
  1. 进入服务程序所在目录,并使用以下命令启动服务:
pm2 start <可执行文件名> --name=<服务名称>
Nach dem Login kopieren

其中,--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:
  2. pm2 list
    Nach dem Login kopieren
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:
    pm2 restart <服务名称>
    pm2 stop <服务名称>
    pm2 delete <服务名称>
    Nach dem Login kopieren
  1. Die Symbole & bedeuten, 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.
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 dies noch umständlicher. 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:

    PM2 installieren

    rrreee
      🎜Geben Sie das Verzeichnis ein, in dem sich das Dienstprogramm befindet, und verwenden Sie den folgenden Befehl, um das zu starten Dienst: 🎜🎜rrreee🎜Wobei, --name wird 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🎜Die oben beschriebene Vorgehensweise So stellen Sie Golang-Dienste anhand eines einfachen PM2-Beispiels bereit. Die Verwendung von PM2 für die Serviceverwaltung und -bereitstellung erleichtert die Verwaltung und Überwachung von Services und reduziert gleichzeitig den Druck der manuellen Verwaltung erheblich. 🎜🎜Zusammenfassung🎜🎜Dieser Artikel beschreibt detailliert die Methode zur Bereitstellung von Golang-Diensten auf Linux-Systemen, einschließlich der Installation von Golang und der erforderlichen Tools, dem Schreiben von Golang-Diensten, dem Erstellen und Testen von Diensten sowie der Verwendung von PM2 für die Dienstverwaltung und -bereitstellung. Ich hoffe, dass dieser Artikel für Leser hilfreich sein kann, die Golang-Dienste bereitstellen. 🎜

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage