Maison >développement back-end >Golang >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)
virtualbox
Environnement 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.
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
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
.
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!