So stellen Sie ein Golang-Projekt auf einem Ubuntu-System bereit
Apr 27, 2023 am 09:10 AMAls Entwickler ist die schnelle und stabile Bereitstellung und Ausführung von Code eine der wesentlichen Fähigkeiten beim Aufbau einer Projektentwicklungsumgebung. In diesem Artikel erfahren Sie, wie Sie Golang-Projekte auf Ubuntu-Systemen bereitstellen.
Bevor Sie beginnen, müssen Sie die folgenden Schritte ausführen:
- Installieren Sie die Golang-Umgebung
- Installieren Sie das Git-Tool
Als nächstes erklären wir es in den folgenden Schritten.
Schritt 1: Holen Sie sich den Code
Zuerst müssen wir den Projektcode besorgen. Geben Sie im Terminal den folgenden Befehl ein:
git clone https://github.com/username/repository.git
Wobei https://github.com/username/repository.git
die Git-Adresse des Projekts ist, die auf der Projekthomepage zu finden ist. 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
main.go
die Eintragsdatei des Projekts. Nach Ausführung dieses Befehls wird eine ausführbare Datei im Projektverzeichnis generiert. 🎜🎜Schritt 3: Führen Sie den Code aus 🎜🎜Nach Abschluss der Kompilierung können wir die ausführbare Datei direkt ausführen. Geben Sie im Terminal den folgenden Befehl ein: 🎜rrreee🎜Nach Ausführung dieses Befehls wird die ausführbare Datei ausgeführt. 🎜🎜Schritt 4: Hintergrundausführung konfigurieren🎜🎜Bei der tatsächlichen Bereitstellung müssen wir die Anwendung im Hintergrund ausführen, um Stabilität und Haltbarkeit zu gewährleisten. Im Folgenden sind zwei häufig verwendete Methoden aufgeführt: 🎜Verwenden Sie den Befehl nohup
🎜nohup kann das Programm im Hintergrund ausführen lassen und die Ausgabe in die angegebene Datei umleiten, wodurch das erzwungene Beenden des Programms aufgrund von vermieden wird Benutzer verlässt das Terminal. 🎜🎜Geben Sie den folgenden Befehl im Terminal ein: 🎜rrreee🎜Unter anderem: 🎜- 🎜
nohup
startet das Programm und ignoriert das HUP-Signal, damit das Programm im Hintergrund laufen kann; 🎜🎜./main ist der Pfad und Dateiname der ausführbaren Datei; 🎜🎜&gt
leitet die vom Programm ausgegebenen Informationen an log.txt-Datei; 🎜 🎜2>&1
Führen Sie die Standardfehlerausgabe und die Standardeingabe und -ausgabe zusammen und leiten Sie sie in die Datei log.txt
um 🎜🎜&
Lassen Sie das Programm im Hintergrund laufen. 🎜
Systemd-Dienst verwenden
🎜systemd ist ein häufig verwendetes Systemverwaltungstool, das Systemdienste, Prozesse usw. verwalten kann. Wir können das Golang-Projekt in einen systemd-Dienst kapseln, um einen automatischen Start, einen automatischen Neustart und andere Funktionen zu erreichen. 🎜🎜Das Folgende ist ein Beispiel für eine Systemd-Dienstdatei: 🎜rrreee🎜In dieser Dienstdatei müssen wir die Beschreibung, den Typ, den Neustartmechanismus und andere Konfigurationselemente des Dienstes definieren. Informationen zur Bedeutung bestimmter Konfigurationselemente finden Sie in der offiziellen Dokumentation von systemd. 🎜🎜Nachdem die Konfiguration abgeschlossen ist, können wir den Dienst mit dem folgenden Befehl starten: 🎜rrreee🎜Es ist zu beachten, dass die Dienstdatei im Verzeichnis/etc/systemd/system
gespeichert werden muss und endet mit . 🎜🎜Zu diesem Zeitpunkt haben wir den gesamten Prozess der Bereitstellung des Golang-Projekts auf dem Ubuntu-System abgeschlossen. Durch die Beherrschung der oben genannten Fähigkeiten können Sie Golang-Projekte schnell und stabil bereitstellen und ausführen und so die Entwicklungseffizienz und Codezuverlässigkeit verbessern. 🎜
Das obige ist der detaillierte Inhalt vonSo stellen Sie ein Golang-Projekt auf einem Ubuntu-System bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?
