So stellen Sie das Golang-Programm auf dem Server bereit
Umgebung
Entwicklungsumgebung: Mac
Produktionsumgebung: CentOS 6.8 unter Virtualbox (virtuelle Maschine)
Virtualbox
Serverumgebung
Lokale Entwicklungs-Mac-Umgebung go env-Parameter
Prozess
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") } }
Das ist alles, ich werde nicht näher auf die Bedeutung des Codes eingehen.
Der Code wurde geschrieben und muss nun kompiliert werden. Da die Mac-Umgebung für die Ausführung unter Linux kompiliert ist, erfordert alles eine plattformübergreifende Kompilierung.
Befehl zum Kompilieren des Codes
env GOOS=linux GOARCH=386 go build main.go
PS: 386 ist hier eine große Lücke. Dies ist die Plattform, um dieses Paketprogramm auszuführen. Wenn es sich um Linux handelt, müssen Sie uname -a verwenden, um die Linux-Systemumgebung zu überprüfen, die Sie ausführen. Zu den gängigen Umgebungen gehören im Allgemeinen AMD64, i386 usw.
OK, nach Abschluss der Kompilierung wird eine ausführbare Hauptdatei ohne Suffix generiert. Zu diesem Zeitpunkt müssen Sie diese Datei nur auf Ihre virtuelle Maschine hochladen und direkt ausführen.
Direkt ausführen
Wenn der oben gezeigte Effekt nach dem Ausführen auftritt, bedeutet dies, dass es ausgeführt wird. Wenn Sie zu diesem Zeitpunkt Ihren Browser öffnen und auf die IP-Adresse Ihres Servers zugreifen: 9000, sehen Sie den unten gezeigten Inhalt
Browserbild
Das ist richtig So einfach ist das. Heute ist mein erster Einsatz und ich bin ziemlich überrascht, dass dafür keine Sprachumgebung erforderlich ist. Java muss beispielsweise auf dem Server installiert werden, und PHP muss ausgeführt werden Go erfordert keine, nur ein Linux-System ist in Ordnung, werfen Sie es einfach ein.
Das Folgende ist die Falle, auf die ich damals gestoßen bin
1. Binärdatei kann nicht ausgeführt werden
Binärdatei kann nicht ausgeführt werden
Der Grund, warum dies auftritt, liegt darin, dass Ihre Kompilierungsumgebung falsch ist, d. h. der oben genannte 386 muss durch die Umgebung des von Ihnen ausgeführten Servers ersetzt werden. Sie können uname -a Check verwenden.
2. Es wird ausgeführt, aber es kann nicht darauf zugegriffen werden.
Dieses Problem wird normalerweise durch die Firewall oder ein Netzwerkproblem Ihres Servers verursacht.
Sie können einfach zuerst die Firewall des Servers ausschalten, den Dienst iptables stoppen und dann prüfen, ob Sie darauf zugreifen können. In einer echten Produktionsumgebung wird es nicht empfohlen, die Firewall auszuschalten.
Wenn Sie echte Online-Operationen bereitstellen, benötigen Sie auf jeden Fall etwas Sicherheit, Prozessschutz usw. Dieser Artikel ist nur eine Einführung in die Bereitstellung und wird nicht darauf eingegangen.
Weitere Go-Sprachkenntnisse finden Sie in der Spalte Go-Sprach-Tutorial auf der chinesischen PHP-Website.
Das obige ist der detaillierte Inhalt vonWie wird Golang auf dem Server bereitgestellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!