Maison > Opération et maintenance > exploitation et maintenance Linux > Comment déployer les services Golang sur Linux

Comment déployer les services Golang sur Linux

王林
Libérer: 2023-05-15 15:22:06
avant
1224 Les gens l'ont consulté

1. Installez Golang et les outils nécessaires

Avant de déployer les services Golang, vous devez d'abord installer Golang et les outils nécessaires. Il peut être installé via la commande suivante :

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

Parmi elles, la dernière ligne installe l'outil Git. Parce que les projets Golang sont généralement gérés via Git. Une fois l'installation terminée, vous pouvez vérifier si l'installation a réussi en exécutant la commande suivante :

go version
git version
Copier après la connexion

Si les deux commandes ci-dessus génèrent le numéro de version, cela signifie que l'installation est réussie.

2. Écrire le service Golang

Après avoir installé Golang et les outils nécessaires, vous pouvez commencer à écrire des services Golang. En prenant un simple service HTTP comme exemple, voici un exemple de code :

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!")
}
Copier après la connexion

Le code du service a une fonction simple, écoute le port local 8080 et renvoie la chaîne "Hello, World!" Utilisez la méthode http.HandleFunc pour spécifier une route et une fonction de gestionnaire pour cette route. http.HandleFunc 方法来指定路由和对该路由的处理函数。

三、构建并测试 Golang 服务

在编写好 Golang 服务代码后,需要进行构建并测试。可以使用以下命令来构建服务:go build。该命令会在当前目录下生成可执行文件。在测试前,需要先修改一下当前用户的防火墙规则,以允许该服务监听 8080 端口。可以使用以下命令:

sudo ufw allow 8080/tcp
Copier après la connexion

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

./<可执行文件名> &
Copier après la connexion

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

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

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

  1. 安装 PM2

sudo npm install -g pm2
Copier après la connexion
  1. 进入服务程序所在目录,并使用以下命令启动服务:

pm2 start <可执行文件名> --name=<服务名称>
Copier après la connexion

其中,--name

3. Créez et testez le service Golang
  1. Après avoir écrit le code du service Golang, vous devez le construire et le tester. Le service peut être construit à l'aide de la commande suivante : go build. Cette commande générera un fichier exécutable dans le répertoire courant. Avant de tester, vous devez modifier les règles de pare-feu de l'utilisateur actuel pour permettre au service d'écouter sur le port 8080. Vous pouvez utiliser la commande suivante :

    pm2 list
    Copier après la connexion

    Une fois la modification terminée, vous pouvez démarrer le service pour le tester. Vous pouvez utiliser la commande suivante pour démarrer le service :
  2. pm2 restart <服务名称>
    pm2 stop <服务名称>
    pm2 delete <服务名称>
    Copier après la connexion
    Les symboles & signifient exécuter le service en arrière-plan. Après un démarrage réussi, vous pouvez utiliser un navigateur ou la commande curl pour accéder au service.
    1. 4. Utilisez PM2 pour le déploiement du service Golang

      Démarrer manuellement le service Golang n'est évidemment pas très convivial, surtout lorsque le service doit être redémarré ou surveillé, c'est encore plus gênant. Par conséquent, les outils PM2 peuvent être utilisés pour la gestion et le déploiement des services. PM2 est un outil de gestion de processus dans l'écosystème Node.js, mais il prend également en charge la gestion de processus écrits dans d'autres langages, dont Golang. Voici un exemple d'utilisation de PM2 pour le déploiement du service Golang :
      1. 🎜Installez PM2🎜🎜🎜rrreee
          🎜 🎜Entrez le répertoire où se trouve le programme de service, et utilisez la commande suivante pour démarrer le service : 🎜🎜🎜rrreee🎜Parmi eux, le paramètre --name permet de spécifier le nom de le service. 🎜🎜🎜🎜Vous pouvez utiliser la commande suivante pour afficher l'état du service : 🎜🎜🎜rrreee🎜🎜🎜Pour les processus gérés par PM2, vous pouvez utiliser la commande suivante pour faire fonctionner le service : 🎜🎜🎜rrreee

      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!

    Étiquettes associées:
    source:yisu.com
    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