中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

?如何部署Golang程序到服務器?

發布時間:2020-05-21 13:52:06 來源:億速云 閱讀:293 作者:鴿子 欄目:編程語言

開發環境:mac

生產環境:virtualbox (虛擬機)下的 CentOS 6.8

?如何部署Golang程序到服務器?

virtualbox

?如何部署Golang程序到服務器?

服務器環境

?如何部署Golang程序到服務器?

本地開發mac環境 go env 參數

歷程

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

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

代碼寫好了,現在需要編譯了,由于是mac環境編譯到linux下運行,所有涉及到跨平臺編譯。

編譯代碼命令

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

PS:這里386是一個很大的坑,這里是要運行這個打包后程序的平臺。如果是linux需要你用 uname -a 來查看你運行的linux系統環境。常見的環境一般有 amd64,i386等。

OK,編譯完成后會生成一個 main可執行文件,沒有后綴,這時你只需要把這個文件上傳到你的虛擬機,直接運行就好了。

?如何部署Golang程序到服務器?

直接運行

運行后如果出現上圖的效果,就說明已經運行起來了。這時你打開你的瀏覽器訪問 你服務器的 IP:9000就能看到如下圖的內容了

?如何部署Golang程序到服務器?

瀏覽器圖

沒錯就這么簡單,今天是我第一次部署,也是挺驚訝的,不需要任何語言環境,像java程序需要在服務器安裝java,php需要安裝Apache,PHP等運行環境,go統統不需要,只需要一個linux系統就好,扔上去就可以了。

下面是我當時遇到的坑

1、出現 cannot execute binary file

?如何部署Golang程序到服務器?

cannot execute binary file

出現這原因是因為,你的編譯時的運行環境不對,就是上文的 386 需要換成你運行的服務器的環境,你可以用 uname -a 查看。

2、運行起來了,但是無法訪問

這問題一般是你服務器的防火墻,或者網絡問題。

你可以先簡單粗暴的把服務器的防火墻關閉 service iptables stop ,然后再看能否訪問,真實的生產環境,不建議關閉防火墻哈。

如果部署真實的線上跑,肯定還需要一些安全,進程守護啥的,本文只是部署入門,就不探討了。

以上就是golang 如何部署到服務器?的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

时尚| 姜堰市| 济阳县| 博罗县| 浙江省| 商洛市| 贵港市| 绥中县| 安宁市| 柏乡县| 南城县| 蓬溪县| 天峻县| 阜新市| 绍兴市| 田阳县| 新兴县| 麻江县| 泽普县| 新竹县| 城固县| 越西县| 崇左市| 罗江县| 聂拉木县| 呼伦贝尔市| 扎兰屯市| 商都县| 娄烦县| 乳源| 花垣县| 专栏| 凤台县| 恭城| 镇巴县| 佛冈县| 淳安县| 鲁甸县| 滕州市| 宣汉县| 南涧|