亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    golang 如何部署到服務(wù)器?

    golang 如何部署到服務(wù)器?

    如何部署Golang程序到服務(wù)器

    環(huán)境

    開(kāi)發(fā)環(huán)境:mac

    生產(chǎn)環(huán)境:virtualbox (虛擬機(jī))下的 CentOS 6.8

    golang 如何部署到服務(wù)器?

    virtualbox

    golang 如何部署到服務(wù)器?

    服務(wù)器環(huán)境

    golang 如何部署到服務(wù)器?

    本地開(kāi)發(fā)mac環(huán)境 go env 參數(shù)

    歷程

    go的代碼

    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("啟動(dòng)了")     err := http.ListenAndServe(":9000",nil)     if err != nil{         log.Fatal("List 9000")     } }

    就這么多,代碼意思不贅述。

    代碼寫(xiě)好了,現(xiàn)在需要編譯了,由于是mac環(huán)境編譯到linux下運(yùn)行,所有涉及到跨平臺(tái)編譯。

    編譯代碼命令

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

    PS:這里386是一個(gè)很大的坑,這里是要運(yùn)行這個(gè)打包后程序的平臺(tái)。如果是linux需要你用 uname -a 來(lái)查看你運(yùn)行的linux系統(tǒng)環(huán)境。常見(jiàn)的環(huán)境一般有 amd64,i386等。

    OK,編譯完成后會(huì)生成一個(gè) main可執(zhí)行文件,沒(méi)有后綴,這時(shí)你只需要把這個(gè)文件上傳到你的虛擬機(jī),直接運(yùn)行就好了。

    golang 如何部署到服務(wù)器?

    直接運(yùn)行

    運(yùn)行后如果出現(xiàn)上圖的效果,就說(shuō)明已經(jīng)運(yùn)行起來(lái)了。這時(shí)你打開(kāi)你的瀏覽器訪問(wèn) 你服務(wù)器的 IP:9000就能看到如下圖的內(nèi)容了

    golang 如何部署到服務(wù)器?

    瀏覽器圖

    沒(méi)錯(cuò)就這么簡(jiǎn)單,今天是我第一次部署,也是挺驚訝的,不需要任何語(yǔ)言環(huán)境,像java程序需要在服務(wù)器安裝java,php需要安裝Apache,PHP等運(yùn)行環(huán)境,go統(tǒng)統(tǒng)不需要,只需要一個(gè)linux系統(tǒng)就好,扔上去就可以了。

    下面是我當(dāng)時(shí)遇到的坑

    1、出現(xiàn) cannot execute binary file

    golang 如何部署到服務(wù)器?

    cannot execute binary file

    出現(xiàn)這原因是因?yàn)?,你的編譯時(shí)的運(yùn)行環(huán)境不對(duì),就是上文的 386 需要換成你運(yùn)行的服務(wù)器的環(huán)境,你可以用 uname -a 查看。

    2、運(yùn)行起來(lái)了,但是無(wú)法訪問(wèn)

    這問(wèn)題一般是你服務(wù)器的防火墻,或者網(wǎng)絡(luò)問(wèn)題。

    你可以先簡(jiǎn)單粗暴的把服務(wù)器的防火墻關(guān)閉 service iptables stop ,然后再看能否訪問(wèn),真實(shí)的生產(chǎn)環(huán)境,不建議關(guān)閉防火墻哈。

    如果部署真實(shí)的線上跑,肯定還需要一些安全,進(jìn)程守護(hù)啥的,本文只是部署入門(mén),就不探討了。

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)