Maison > développement back-end > Golang > le corps du texte

Comment déployer des applications en langage Go sous Linux

PHPz
Libérer: 2023-04-05 09:25:06
original
1568 Les gens l'ont consulté

Dans l'industrie actuelle du développement de logiciels, le langage go présente les avantages d'une forte concurrence, d'un développement facile et d'une vitesse rapide par rapport aux autres langages. Par conséquent, de plus en plus d’entreprises choisissent d’utiliser le langage Go pour développer des applications. Alors, lors du déploiement d’applications en langage Go, comment déployer sous Linux ?

1. Installation de l'environnement Linux

Avant le déploiement, vous devez d'abord installer le langage go sur Linux. Avant d'installer le langage go, vous devez vous assurer que le système Linux dispose des dépendances nécessaires installées, telles que gcc, make, etc. Pour installer ces dépendances, vous pouvez utiliser la commande suivante :

sudo apt-get update
sudo apt-get install build-essential
Copier après la connexion

Ensuite, téléchargez le langage go et décompressez-le :

wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz
tar -xvf go1.13.5.linux-amd64.tar.gz
Copier après la connexion

Après le décompression, déplacez-le dans le répertoire /usr/local/, le La commande est la suivante : /usr/local/目录下,命令如下:

sudo mv go /usr/local/
Copier après la connexion

然后,需要将go语言的bin目录路径添加到PATH环境变量中:

export PATH=$PATH:/usr/local/go/bin
Copier après la connexion

将上述命令添加到文件/etc/profile中,使其永久生效。

二、部署应用程序

在Linux下部署go语言应用程序的方式有许多种方法,下面介绍两种常用的方式。

1.使用源代码部署

首先,需要在Linux上安装Git:

sudo apt-get install git
Copier après la connexion

然后,将代码克隆至 $GOPATH/src/目录下:

git clone https://github.com/xxxxx/xxxxx.git
Copier après la connexion

编译应用程序:

cd $GOPATH/src/xxxxx
go build main.go
Copier après la connexion

最后运行应用程序即可:

./main
Copier après la connexion
Copier après la connexion

2.使用二进制文件部署

该方式在开发过程中,可以使用go打包工具将应用程序打包成二进制文件,然后将该文件上传至Linux服务器进行部署。具体步骤如下:

GOOS=linux GOARCH=amd64 go build main.go
Copier après la connexion

运行后,会生成一个名为main的二进制文件。此时,将该文件上传至Linux服务器中,在命令行中运行即可:

./main
Copier après la connexion
Copier après la connexion

三、使用Supervisord进行服务管理

Supervisord是一个开源的进程管理工具,可以用于监控、管理Unix/Linux系统上的进程。下面介绍如何使用Supervisord进行服务管理。

首先,需要安装Supervisord:

sudo apt-get install supervisor
Copier après la connexion

安装后,需要编辑配置文件/etc/supervisor/conf.d/,添加以下内容:

[program:app-name]
directory = /path/to/app
command = /path/to/app/main
autostart = true
autorestart = true
stdout_logfile = /var/log/app/stdout.log
stderr_logfile = /var/log/app/stderr.log
Copier après la connexion

其中,app-name为要运行的应用程序名,directory为应用程序所在的路径,command为启动应用程序的命令,autostartautorestart为Supervisord自动启动和重启机制,stdout_logfilestderr_logfile

sudo supervisorctl reread
sudo supervisorctl update
sudo service supervisor restart
Copier après la connexion
Ensuite, vous devez ajouter le chemin du répertoire bin de la langue go à la variable d'environnement PATH :

rrreee

Ajoutez la commande ci-dessus au fichier /etc/profile pour rendre permanent.

2. Déployer des applications

Il existe de nombreuses façons de déployer des applications en langage Go sous Linux. Voici deux méthodes couramment utilisées.

1. Déployez à l'aide du code source🎜🎜Tout d'abord, vous devez installer Git sur Linux : 🎜rrreee🎜Ensuite, clonez le code dans le répertoire $GOPATH/src/ : 🎜rrreee🎜Compilez l'application. : 🎜rrreee🎜Enfin, exécutez l'application : 🎜rrreee🎜2. Utilisez le déploiement de fichiers binaires🎜🎜Dans cette méthode, pendant le processus de développement, vous pouvez utiliser l'outil d'empaquetage go pour empaqueter l'application dans un fichier binaire, puis télécharger le fichier. au serveur Linux pour le traitement du déploiement. Les étapes spécifiques sont les suivantes : 🎜rrreee🎜Après l'exécution, un fichier binaire nommé main sera généré. À ce stade, téléchargez le fichier sur le serveur Linux et exécutez-le dans la ligne de commande : 🎜rrreee🎜 3. Utilisez Supervisord pour la gestion des services 🎜🎜Supervisord est un outil de gestion de processus open source qui peut être utilisé pour surveiller et gérer Unix/Linux. processus sur le système. Ce qui suit décrit comment utiliser Supervisord pour la gestion des services. 🎜🎜Tout d'abord, vous devez installer Supervisord : 🎜rrreee🎜Après l'installation, vous devez éditer le fichier de configuration /etc/supervisor/conf.d/ et ajouter le contenu suivant : 🎜rrreee🎜Parmi eux , app-name est le nom de l'application à exécuter, directory est le chemin où se trouve l'application, command est la commande à démarrez l'application, autostart et autorestart sont des mécanismes de démarrage et de redémarrage automatiques de Supervisord, stdout_logfile et stderr_logfile sont des chemins de fichier journal . 🎜🎜Enfin, redémarrez le service Supervisord : 🎜rrreee🎜Voici les étapes ci-dessus pour utiliser Supervisord pour la gestion des services. 🎜🎜Résumé🎜🎜Cet article explique comment déployer des applications en langage Go sous Linux, notamment l'installation du langage Go, le déploiement d'applications et l'utilisation de Supervisord pour la gestion des services. Ces méthodes sont toutes réalisables et peuvent être sélectionnées en fonction de circonstances spécifiques dans des applications pratiques. Ce n'est qu'en comprenant et en maîtrisant ces techniques que vous pourrez déployer des applications développées rapidement et facilement. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!