Maison  >  Article  >  développement back-end  >  le déploiement de Golang nécessite nginx

le déploiement de Golang nécessite nginx

WBOY
WBOYoriginal
2023-05-15 10:02:061154parcourir

Dans le développement d'applications Internet modernes, l'utilisation de Golang comme langage back-end est devenue de plus en plus populaire. En tant que langage offrant des performances, une sécurité et une fiabilité supérieures, Golang est largement utilisé dans le cloud computing, les serveurs API, les files d'attente de messages et autres domaines. Cependant, Golang est différent des autres langages en ce sens qu'il n'a pas de serveur Web intégré, il doit donc être déployé via un serveur Web tiers. Parmi les nombreux serveurs Web, Nginx est le choix le plus approprié en tant que serveur Golang.

Cet article expliquera pourquoi Nginx est nécessaire dans le déploiement de Golang et présentera comment utiliser Nginx pour déployer des applications Golang.

1. Pourquoi avez-vous besoin de Nginx ?

1.1 Excellentes performances

Golang est connu pour ses performances efficaces, mais en tant que langage sans serveur Web intégré, les applications Golang ne peuvent pas être directement déployées sur le cloud. Nginx est connu pour ses excellentes performances et peut gérer un grand nombre de requêtes et de connexions simultanées, faisant de ce logiciel serveur le premier choix pour les applications hautes performances.

Dans le même temps, Nginx fournit de nombreuses fonctions avancées telles que le proxy inverse, l'équilibrage de charge, la mise en cache, etc., qui peuvent être utilisées pour gérer le transfert de trafic dans les applications Golang et améliorer les performances et la fiabilité des applications.

1.2 Haute sécurité

Nginx dispose de nombreuses fonctionnalités de sécurité avancées telles que le cryptage SSL/TLS et la protection contre les attaques DDoS malveillantes. Étant donné que Golang lui-même ne dispose pas de mécanisme de sécurité intégré, l'utilisation de Nginx peut mieux protéger les applications Golang et améliorer la sécurité des applications.

1.3 Hautement évolutif

Lorsque les applications Golang deviennent de plus en plus populaires et que le nombre de serveurs doit être temporairement augmenté, une expansion horizontale peut être facilement réalisée à l'aide de Nginx. Une solution consiste à ajouter davantage de serveurs backend pour améliorer les performances et l’évolutivité de l’ensemble de l’application. Dans le même temps, Nginx peut également utiliser des outils d'équilibrage de charge intégrés pour gérer plusieurs serveurs.

2. Comment utiliser Nginx pour déployer des applications Golang ?

2.1 Installer Golang

Golang doit être installé avant de déployer les applications Golang. Installez Golang à l'aide de la commande suivante :

$ sudo apt-get update
$ sudo apt-get install golang-go

2.2 Écrire et créer des applications Golang

Avant d'écrire une application Golang, vous devez connaître quelques bases. Les applications Golang doivent écrire une fonction principale, ainsi que d'autres fichiers et fonctions requis. Les fichiers de code Golang se terminent généralement par .go.

Voici un exemple d'application Golang :

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

Pour créer une application Golang, vous devez utiliser la commande suivante :

$ go build -o main

Running cette commande compilera le code dans un fichier exécutable.

2.3 Utilisez le proxy inverse Nginx

Utilisez le proxy inverse Nginx pour héberger des applications sur Internet. Pour utiliser un proxy inverse, vous devez modifier le fichier de configuration Nginx /etc/nginx/sites-available/default.

Ajoutez le contenu suivant au fichier :

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Le code ci-dessus ajoute un hôte virtuel distinct au fichier de configuration Nginx qui transmet les requêtes à 8080 du port d'application Golang. Les autres contenus de ce code incluent la version HTTP, les en-têtes de demande de mise à niveau du protocole et d'autres paramètres de proxy associés.

2.4 Exécuter l'application Golang

Utilisez la commande suivante pour exécuter l'application Golang :

$ ./main

Cette commande démarrera l'application Golang sur le port 8080 de l'hôte local.

2.5 Redémarrer Nginx

Après avoir modifié le fichier de configuration Nginx, vous devez redémarrer le serveur Nginx pour que les modifications prennent effet. Redémarrez le service Nginx à l'aide de la commande suivante :

$ sudo systemctl reload nginx

Après avoir exécuté cette commande, Nginx redémarrera avec le nouveau fichier de configuration.

3. Résumé

Golang est un langage efficace et sécurisé, mais en raison de l'absence de serveur Web intégré, il est essentiel d'utiliser Nginx comme serveur pour les applications Golang. . Nginx fournit non seulement un proxy inverse, un équilibrage de charge avancé, une mise en cache et de nombreuses autres excellentes fonctions, mais les performances, la sécurité et l'évolutivité de Nginx sont également très adaptées au déploiement d'applications Golang.

En utilisant les méthodes mentionnées dans cet article, vous pouvez facilement utiliser Nginx pour déployer des applications Golang et obtenir des applications plus efficaces, sécurisées et fiables.

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!

Déclaration:
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