Maison >développement back-end >Golang >Comment déployer Golang sur le serveur ?

Comment déployer Golang sur le serveur ?

藏色散人
藏色散人original
2020-01-28 14:31:533833parcourir

Comment déployer Golang sur le serveur ?

Comment déployer le programme Golang sur le serveur

Environnement

Environnement de développement : mac

Environnement de production : CentOS 6.8 sous virtualbox (machine virtuelle)

Comment déployer Golang sur le serveur ?

virtualbox

Comment déployer Golang sur le serveur ?

Environnement serveur

Comment déployer Golang sur le serveur ?

Environnement Mac de développement local aller paramètres d'env

Processus

go code

package main
import (
    "fmt"
    "log"
    "net/http"
)
func sayHello(w http.ResponseWriter, r *http.Request)  {
    fmt.Fprintf(w,"您看到我了")
}
func main() {
    http.HandleFunc("/",sayHello)
    log.Println("启动了")
    err := http.ListenAndServe(":9000",nil)
    if err != nil{
        log.Fatal("List 9000")
    }
}

C'est tout, je n'entrerai pas dans les détails sur la signification du code.

Le code a été écrit, et il reste maintenant à le compiler. Puisque l'environnement Mac est compilé pour fonctionner sous Linux, tout implique une compilation multiplateforme.

Commande de compilation de code

env GOOS=linux GOARCH=386 go build main.go

PS : 386 est un gros gouffre ici. C'est la plate-forme pour exécuter ce programme packagé. S'il s'agit de Linux, vous devez utiliser uname -a pour vérifier l'environnement système Linux que vous exécutez. Les environnements courants incluent généralement amd64, i386, etc.

OK, une fois la compilation terminée, un fichier exécutable principal sera généré sans suffixe. À ce stade, il vous suffit de télécharger ce fichier sur votre machine virtuelle et de l'exécuter directement.

Comment déployer Golang sur le serveur ?

Exécuter directement

Si l'effet ci-dessus apparaît après l'exécution, cela signifie qu'il est en cours d'exécution. À ce moment-là, si vous ouvrez votre navigateur et visitez l'IP de votre serveur : 9000, vous verrez le contenu comme indiqué ci-dessous

Comment déployer Golang sur le serveur ?

Image du navigateur

C'est vrai C'est aussi simple que cela. Aujourd'hui, c'est mon premier déploiement, et je suis assez surpris. Cela ne nécessite aucun environnement linguistique. Par exemple, les programmes Java doivent installer Java sur le serveur et PHP doit installer Apache, PHP et autres. Go n'en a pas besoin, un seul. Un système Linux est très bien, il suffit de le lancer.

Voici le piège que j'ai rencontré à ce moment-là

1 Impossible d'exécuter le fichier binaire apparaît

Comment déployer Golang sur le serveur ?.

Impossible d'exécuter le fichier binaire

La raison pour laquelle cela se produit est que votre environnement d'exécution de compilation est incorrect, c'est-à-dire que le 386 ci-dessus doit être remplacé par l'environnement du serveur que vous exécutez. Vous pouvez utiliser uname -a Check.

2. Il fonctionne, mais n'est pas accessible

Ce problème est généralement causé par le pare-feu de votre serveur ou par un problème de réseau.

Vous pouvez simplement et grossièrement désactiver le pare-feu du serveur avec le service iptables stop puis voir si vous pouvez y accéder. Dans un environnement de production réel, il n'est pas recommandé de désactiver le pare-feu.

Si vous déployez de véritables opérations en ligne, vous aurez certainement besoin d'un peu de sécurité, de protection des processus, etc. Cet article n'est qu'une introduction au déploiement et n'en discutera pas.

Pour plus de connaissances sur le langage Go, veuillez prêter attention à la colonne Tutoriel sur le langage Go sur le site Web PHP chinois.

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