golang起一個http服務,mac交叉編譯並在linux上起服務

項目結構:





package main
 
import (
    "fmt"
    "log"
    "net/http"
)
 
// w表示response對象,返回給客戶端的內容都在對象裏處理
// r表示客戶端請求對象,包含了請求頭,請求參數等等
func index(w http.ResponseWriter, r *http.Request) {
    // 往w裏寫入內容,就會在瀏覽器裏輸出
    fmt.Fprintf(w, "Hello golang http!")
   // 接受輸入的內容,並在iterm中打印出來
 b, err := ioutil.ReadAll(r.Body)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%s\n", b)
}
 
func main() {
    // 設置路由,如果訪問/,則調用index方法
    http.HandleFunc("/", index)
 
    // 啓動web服務,監聽9090端口
    err := http.ListenAndServe(":9090", nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

本地執行:go run start.go

mac os$linux交叉編譯:

CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build

編譯後就會在src下出現startPkg二進制文件,可通過上傳至雲存儲,並在linux機器上curl下來:

curl -o ~/tmp/start http://o8ckhoonz.bkt.clouddn.com/start

執行:./start

在瀏覽器中訪問http://ip:9090就可以看到Hello golang http!輸出了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章