Heim >Backend-Entwicklung >Golang >Wie wird Golang auf dem Server bereitgestellt?

Wie wird Golang auf dem Server bereitgestellt?

藏色散人
藏色散人Original
2020-01-28 14:31:533831Durchsuche

Wie wird Golang auf dem Server bereitgestellt?

So stellen Sie das Golang-Programm auf dem Server bereit

Umgebung

Entwicklungsumgebung: Mac

Produktionsumgebung: CentOS 6.8 unter Virtualbox (virtuelle Maschine)

Wie wird Golang auf dem Server bereitgestellt?

Virtualbox

Wie wird Golang auf dem Server bereitgestellt?

Serverumgebung

Wie wird Golang auf dem Server bereitgestellt?

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.

Wie wird Golang auf dem Server bereitgestellt?

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

Wie wird Golang auf dem Server bereitgestellt?

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

Wie wird Golang auf dem Server bereitgestellt?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn