Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux So stellen Sie Golang-Dienste unter Linux bereit

So stellen Sie Golang-Dienste unter Linux bereit

May 15, 2023 pm 03:22 PM
linux golang

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 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!")
}
Nach dem Login kopieren

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
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:

    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:
  2. pm2 restart <服务名称>
    pm2 stop <服务名称>
    pm2 delete <服务名称>
    Nach dem Login kopieren
    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!

    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

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Wie man alles in Myrise freischaltet
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    So starten Sie Apache So starten Sie Apache Apr 13, 2025 pm 01:06 PM

    Die Schritte zum Starten von Apache sind wie folgt: Installieren Sie Apache (Befehl: sudo apt-Get-Get-Installieren Sie Apache2 oder laden Sie ihn von der offiziellen Website herunter). (Optional, Linux: sudo systemctl

    Was tun, wenn der Port Apache80 belegt ist Was tun, wenn der Port Apache80 belegt ist Apr 13, 2025 pm 01:24 PM

    Wenn der Port -80 -Port der Apache 80 besetzt ist, lautet die Lösung wie folgt: Finden Sie den Prozess, der den Port einnimmt, und schließen Sie ihn. Überprüfen Sie die Firewall -Einstellungen, um sicherzustellen, dass Apache nicht blockiert ist. Wenn die obige Methode nicht funktioniert, konfigurieren Sie Apache bitte so, dass Sie einen anderen Port verwenden. Starten Sie den Apache -Dienst neu.

    C und Golang: Wenn die Leistung von entscheidender Bedeutung ist C und Golang: Wenn die Leistung von entscheidender Bedeutung ist Apr 13, 2025 am 12:11 AM

    C eignet sich besser für Szenarien, in denen eine direkte Kontrolle der Hardware -Ressourcen und hohe Leistungsoptimierung erforderlich ist, während Golang besser für Szenarien geeignet ist, in denen eine schnelle Entwicklung und eine hohe Parallelitätsverarbeitung erforderlich sind. 1.Cs Vorteil liegt in den nahezu Hardware-Eigenschaften und hohen Optimierungsfunktionen, die für leistungsstarke Bedürfnisse wie die Spieleentwicklung geeignet sind. 2. Golangs Vorteil liegt in seiner präzisen Syntax und der natürlichen Unterstützung, die für die Entwicklung einer hohen Parallelitätsdienste geeignet ist.

    So überwachen Sie die NGINX SSL -Leistung auf Debian So überwachen Sie die NGINX SSL -Leistung auf Debian Apr 12, 2025 pm 10:18 PM

    In diesem Artikel wird beschrieben, wie die SSL -Leistung von NGINX -Servern auf Debian -Systemen effektiv überwacht wird. Wir werden Nginxexporter verwenden, um Nginx -Statusdaten in Prometheus zu exportieren und sie dann visuell über Grafana anzeigen. Schritt 1: Konfigurieren von Nginx Erstens müssen wir das Modul stub_status in der nginx -Konfigurationsdatei aktivieren, um die Statusinformationen von Nginx zu erhalten. Fügen Sie das folgende Snippet in Ihre Nginx -Konfigurationsdatei hinzu (normalerweise in /etc/nginx/nginx.conf oder deren inklusive Datei): location/nginx_status {stub_status

    So richten Sie im Debian -System einen Recyclingbehälter ein So richten Sie im Debian -System einen Recyclingbehälter ein Apr 12, 2025 pm 10:51 PM

    In diesem Artikel werden zwei Methoden zur Konfiguration eines Recycling -Bin in einem Debian -System eingeführt: eine grafische Schnittstelle und eine Befehlszeile. Methode 1: Verwenden Sie die grafische Schnittstelle Nautilus, um den Dateimanager zu öffnen: Suchen und starten Sie den Nautilus -Dateimanager (normalerweise als "Datei") im Menü Desktop oder Anwendungen. Suchen Sie den Recycle Bin: Suchen Sie nach dem Ordner recycelner Behälter in der linken Navigationsleiste. Wenn es nicht gefunden wird, klicken Sie auf "Andere Speicherort" oder "Computer", um sie zu suchen. Konfigurieren Sie Recycle Bin-Eigenschaften: Klicken Sie mit der rechten Maustaste auf "Recycle Bin" und wählen Sie "Eigenschaften". Im Eigenschaftenfenster können Sie die folgenden Einstellungen einstellen: Maximale Größe: Begrenzen Sie den im Recycle -Behälter verfügbaren Speicherplatz. Aufbewahrungszeit: Legen Sie die Erhaltung fest, bevor die Datei automatisch im Recyclingbehälter gelöscht wird

    Die Bedeutung von Debian Sniffer für die Netzwerküberwachung Die Bedeutung von Debian Sniffer für die Netzwerküberwachung Apr 12, 2025 pm 11:03 PM

    Obwohl in den Suchergebnissen "Debiansniffer" und ihre spezifische Anwendung bei der Netzwerküberwachung nicht direkt erwähnt werden, können wir schließen, dass sich "Sniffer" auf ein Tool für Netzwerkpaket -Capture -Analyse bezieht, und seine Anwendung im Debian -System unterscheidet sich nicht wesentlich von anderen Linux -Verteilungen. Die Netzwerküberwachung ist entscheidend für die Aufrechterhaltung der Netzwerkstabilität und die Optimierung der Leistung, und Tools für die Analyse der Paketerfassung spielen eine Schlüsselrolle. Im Folgenden werden die wichtige Rolle von Tools zur Netzwerküberwachung (z. B. in Debian-Systemen ausgeführt) erklärt: Der Wert von Netzwerküberwachungstools: Schneller Fehlerstandort: Echtzeitüberwachung von Netzwerkmetriken, wie z.

    So optimieren Sie die Leistung von Debian Readdir So optimieren Sie die Leistung von Debian Readdir Apr 13, 2025 am 08:48 AM

    In Debian -Systemen werden Readdir -Systemaufrufe zum Lesen des Verzeichnisinhalts verwendet. Wenn seine Leistung nicht gut ist, probieren Sie die folgende Optimierungsstrategie aus: Vereinfachen Sie die Anzahl der Verzeichnisdateien: Teilen Sie große Verzeichnisse so weit wie möglich in mehrere kleine Verzeichnisse auf und reduzieren Sie die Anzahl der gemäß Readdir -Anrufe verarbeiteten Elemente. Aktivieren Sie den Verzeichnis -Inhalt Caching: Erstellen Sie einen Cache -Mechanismus, aktualisieren Sie den Cache regelmäßig oder bei Änderungen des Verzeichnisinhalts und reduzieren Sie häufige Aufrufe an Readdir. Speicher -Caches (wie Memcached oder Redis) oder lokale Caches (wie Dateien oder Datenbanken) können berücksichtigt werden. Nehmen Sie eine effiziente Datenstruktur an: Wenn Sie das Verzeichnis -Traversal selbst implementieren, wählen Sie effizientere Datenstrukturen (z.

    So starten Sie den Apache -Server neu So starten Sie den Apache -Server neu Apr 13, 2025 pm 01:12 PM

    Befolgen Sie die folgenden Schritte, um den Apache -Server neu zu starten: Linux/MacOS: Führen Sie sudo systemCTL RESTART APache2 aus. Windows: Net Stop Apache2.4 und dann Net Start Apache2.4 ausführen. Führen Sie Netstat -a | Findstr 80, um den Serverstatus zu überprüfen.

    See all articles