Golang est un langage de programmation open source conçu et développé par Google. Ces dernières années, avec le développement de la technologie Internet, Golang est utilisé par de plus en plus de développeurs, et le déploiement en ligne est également un élément qui mérite attention. Dans cet article, je vais vous présenter comment déployer avec succès un projet Golang en ligne.
1. Écrivez du code
Après avoir terminé le développement de votre projet Golang, vous pouvez le publier en ligne. Avant de faire cela, assurez-vous que le code est organisé et conditionné dans un binaire exécutable.
Par exemple, vous pouvez empaqueter votre code dans un binaire à l'aide de la commande suivante :
$ go build -o myapp main.go
Cette commande construira un binaire exécutable nommé "myapp" en utilisant votre code.
À ce stade, vous avez terminé la préparation de l'environnement de développement local. Ce qui suit décrit comment déployer le code sur un serveur en ligne.
2. Choisissez un serveur
Avant de choisir un serveur, vous devez prendre en compte les facteurs suivants :
Golang peut fonctionner sur plusieurs systèmes d'exploitation, notamment Linux, macOS et Windows. Par conséquent, vous pouvez choisir le système d’exploitation qui convient à votre projet.
La configuration matérielle du serveur détermine les performances du serveur, notamment le processeur, la mémoire, le stockage, etc. Vous devez choisir la configuration matérielle appropriée en fonction des besoins de votre projet.
La connexion réseau du serveur a un grand impact sur la vitesse d'accès. Par conséquent, vous devez choisir un serveur doté d’une bonne connexion réseau.
Après avoir sélectionné le serveur, vous devez vous connecter au serveur via ssh.
3. Déployez le code
Tout d'abord, créez un nouveau répertoire sur le serveur pour stocker votre code Golang.
$ mkdir myapp && cd myapp
Ensuite, copiez le code que vous avez écrit dans l'environnement de développement local dans ce répertoire.
Ensuite, vous devez utiliser la commande scp pour transférer le fichier exécutable sur le serveur.
$ scp ./myapp user@server:/home/user/myapp
Cette commande téléchargera le fichier myapp dans le répertoire /home/user/myapp du serveur.
Ensuite, vous devez vous connecter au serveur en utilisant ssh et accorder au fichier les autorisations exécutables.
$ chmod +x myapp
Vous pouvez maintenant exécuter votre code Golang sur le serveur à l'aide de la commande suivante :
$ ./myapp
IV. Configurez le proxy inverse
Si votre projet Golang doit écouter les requêtes HTTP et renvoyer les réponses au client, vous devez installer un proxy inverse. proxy sur le serveur en ligne. Un proxy inverse fournit une interface aux clients et aux applications Golang afin qu'ils puissent communiquer entre eux.
Sous Linux, vous pouvez utiliser Nginx comme proxy inverse. Tout d’abord, installez Nginx.
$ sudo apt-get install nginx
Ensuite, créez un nouveau bloc serveur à l'aide de la commande suivante.
$ sudo nano /etc/nginx/sites-available/myapp
Ajoutez la configuration suivante au fichier myapp.
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Cette configuration écoutera sur le port 80 les requêtes HTTP et transmettra la requête au port local 8080.
Ensuite, vous devez activer cette configuration et redémarrer Nginx.
$ sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ $ sudo service nginx restart
Vous pouvez désormais exécuter votre application Golang sur votre serveur et recevoir des requêtes HTTP via un proxy inverse en utilisant la commande suivante :
$ ./myapp
Dans cet article, nous avons présenté comment déployer du code Golang sur un serveur en ligne et utiliser Nginx comme proxy inverse. . Avec la bonne configuration et l’optimisation, vous pouvez obtenir d’excellentes performances et une évolutivité fiable.
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!