Maison > Article > développement back-end > déploiement de code Golang
Avec le développement et l'application continus de la technologie du cloud computing, de plus en plus d'entreprises commencent à déployer des applications sur le cloud. En tant que langage efficace, léger et très efficace, Golang est privilégié par de plus en plus d'entreprises. Alors, comment devrions-nous procéder lors du déploiement d’applications Golang sur le cloud ? Cet article présentera en détail le processus de déploiement du code Golang et les points techniques associés.
Avant de commencer le déploiement du code Golang, les préparations suivantes doivent être effectuées :
1.1 Déterminez le serveur cloud
Assurez-vous d'abord que le serveur cloud a été sélectionné. Les principaux fournisseurs de services cloud sur le marché aujourd'hui incluent Tencent Cloud, Alibaba Cloud, Huawei Cloud, etc. Nous pouvons choisir un serveur cloud avec des performances stables, un prix avantageux et des fonctions riches. De manière générale, plus la configuration du serveur cloud est élevée, meilleures seront les performances, mais le prix correspondant sera plus élevé.
1.2 Installez l'environnement golang
Installez l'environnement golang sur le serveur cloud pour vous assurer que le code golang peut être compilé et exécuté normalement.
Après avoir terminé les préparatifs ci-dessus, nous pouvons commencer à compiler le code golang. golang fournit un compilateur pour chaque plateforme, afin que nous puissions terminer le processus de compilation localement ou sur un serveur cloud. Les outils courants pour compiler du code Golang incluent les commandes « go build » et « go install ». Nous utilisons généralement la commande "go build" pour compiler le code source de Golang dans un fichier exécutable, comme indiqué ci-dessous :
$ cd $GOPATH/src/github.com/user/hello $ go build
Cette commande générera un fichier nommé hello
dans le fichier actuel fichier exécutable du répertoire. Si vous utilisez la commande "go install", golang installera automatiquement le fichier exécutable généré dans le répertoire $GOPATH/bin. hello
的可执行文件。如果使用"go install"命令,则golang会自动将生成的可执行文件安装到$GOPATH/bin目录下。
$ cd $GOPATH/src/github.com/user/hello $ go install
此时,可执行文件将被安装到$GOPATH/bin目录下。
在编译出可执行文件之后,我们需要将其上传到云服务器上。常用的上传方式有scp和rsync。
3.1 使用scp上传文件
首先,需要在本地终端输入以下指令,将hello文件上传到远程服务器。
$ scp -P <port> hello <user>@<host>:<path>
参数说明:
示例:
$ scp -P 22 hello root@192.168.10.10:/root
以上命令执行后,可执行文件hello将被上传到云服务器的/root目录下。
3.2 使用rsync上传文件
rsync是一种远程文件同步工具,比scp更加高效。使用rsync上传可执行文件,需要先在云服务器上安装rsync。然后在本地终端输入以下指令:
$ rsync -avP -e 'ssh -p <port>' hello <user>@<host>:<path>
参数说明:
示例:
$ rsync -avP -e 'ssh -p 22' hello root@192.168.10.10:/root
以上命令执行后,可执行文件hello将被上传到云服务器的/root目录下。
上传可执行文件到云服务器之后,我们需要在云服务器上运行它。我们可以使用ssh在云服务器上打开一个终端窗口,然后输入以下命令:
$ ./hello
其中,hello
$ nohup ./hello &À ce stade, le fichier exécutable sera installé dans le répertoire $GOPATH/bin.
Après avoir compilé le fichier exécutable, nous devons le télécharger sur le cloud sur le serveur. Les méthodes de téléchargement couramment utilisées incluent scp et rsync.
3.1 Utilisez scp pour télécharger des fichiers
$ yum install -y python-setuptools $ easy_install supervisor
-P : Spécifiez le numéro de port ssh
298c9bd6ad6e8c821dc63aa0473d6209 : Le numéro de port ssh du serveur cloud# 🎜🎜#
hello : fichier exécutable local be1cdaf6779910b92a0a47fc24e82b4f : nom d'utilisateur du serveur cloud f7e6dec31ab1a0471d06c55afaca8d77 : IP du serveur cloud# 🎜 🎜#98953a78f52873edae60a617ec082494 : Télécharger le chemin cible
Exemple :
$ supervisord -v
Une fois la commande ci-dessus exécutée, le fichier exécutable hello sera Téléchargez dans le répertoire /root du serveur cloud.
3.2 Utilisez rsync pour télécharger des fichiers
#🎜🎜#rsync est un outil de synchronisation de fichiers à distance qui est plus efficace que scp. Pour utiliser rsync pour télécharger des fichiers exécutables, vous devez d'abord installer rsync sur le serveur cloud. Saisissez ensuite la commande suivante dans le terminal local : #🎜🎜#[program:hello] command=/path/to/hello directory=/path/to/hello/dir autostart=true autorestart=true stdout_logfile=/var/log/hello.stdout.log stderr_logfile=/var/log/hello.stderr.log#🎜🎜#Description du paramètre : #🎜🎜#
$ systemctl start supervisord.service#🎜🎜#Une fois la commande ci-dessus exécutée, le fichier exécutable hello sera téléchargé dans le répertoire /root du serveur cloud. #🎜🎜#
hello
est le nom du fichier exécutable que nous avons téléchargé. Si tout se passe bien, vous devriez pouvoir voir les résultats de l'exécution du programme. #🎜🎜##🎜🎜##🎜🎜#Programme exécuté en arrière-plan#🎜🎜##🎜🎜##🎜🎜#Généralement, nous souhaitons exécuter le programme en arrière-plan au lieu d'occuper la fenêtre du terminal. Nous pouvons utiliser la commande nohup pour exécuter le programme en arrière-plan. Par exemple, si nous voulons exécuter le programme hello en arrière-plan sur le serveur cloud, nous pouvons saisir la commande suivante : #🎜🎜#rrreee#🎜🎜#Le programme s'exécutera en arrière-plan et enregistrera les informations de sortie dans le nohup Fichier .out. #🎜🎜##🎜🎜##🎜🎜#Utiliser Supervisor pour gérer le programme#🎜🎜##🎜🎜##🎜🎜#La commande nohup met le programme en cours d'exécution en arrière-plan, mais si le programme se trompe ou plante, nous ne pouvons pas recevez une notification rapidement et traitez-la. Par conséquent, nous devons utiliser des outils de gestion pour gérer le programme. L'un des outils les plus couramment utilisés est Supervisor. #🎜🎜##🎜🎜#6.1 Superviseur d'installation#🎜🎜##🎜🎜#Le superviseur peut télécharger le dernier package d'installation à partir du site officiel. Le processus d'installation est relativement simple. Nous pouvons choisir la méthode d'installation correspondante en fonction des différents systèmes d'exploitation. #🎜🎜##🎜🎜#Par exemple, dans le système Centos7, vous pouvez utiliser la commande suivante pour installer : #🎜🎜#rrreee#🎜🎜#Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour vérifier la version : #🎜🎜#rrreee#🎜🎜 #6.2 Configurer le superviseur#🎜🎜##🎜🎜#Le fichier de configuration du superviseur est /etc/supervisord.conf. Nous pouvons ajouter le contenu suivant à ce fichier pour enregistrer notre programme auprès du superviseur. #🎜🎜#rrreee#🎜🎜#Description du paramètre : #🎜🎜#以上配置中,我们将程序名设置为"hello",command设置为hello可执行文件路径,directory设置为hello可执行文件所在目录,让程序自动启动和重启,同时将标准输出日志和错误日志分别保存到/var/log/hello.stdout.log和/var/log/hello.stderr.log。
6.3 启动Supervisor服务
配置完成后,我们需要启动Supervisor服务。在Centos7系统中,可以使用以下命令启动:
$ systemctl start supervisord.service
此时,我们的程序已经可以通过Supervisor进行管理。
最后,我们可以使用以下方法来进一步优化我们的应用程序。
7.1 使用HTTPS协议
在应用程序中使用HTTPS协议可以加强应用程序的安全性。我们可以在应用程序中添加TLS/SSL证书,使其支持HTTPS协议。
7.2 使用Nginx反向代理
使用Nginx反向代理可以提高应用程序的性能和稳定性。Nginx可以作为负载均衡器,将流量均衡到多个应用程序实例中,提高并发量和可用性。
7.3 使用Docker容器
使用Docker容器可以更加方便地管理和部署应用程序。我们可以在Docker容器中运行应用程序,在容器内部实现应用程序的依赖及配置管理,使得应用程序在不同环境中的部署更加简单和便捷。
综上所述,golang代码部署主要包括编译代码、上传到云服务器、运行程序、使用管理工具进行程序管理等步骤。我们需要根据应用场景选择适合的云服务器和相关技术选项,并对应用程序进行优化,以提高效率和稳定性。
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!