1. 程式人生 > >golang 2行代碼在基於arm linux的樹莓派、orangepi上運行http web服務

golang 2行代碼在基於arm linux的樹莓派、orangepi上運行http web服務

目標 開發板 server post fontsize alt main函數 handle 基於

go語言(golang)簡化了跨平臺交叉編譯步驟,支持在windows系統下交叉編譯基於arm+linux平臺的應用,運行時無需其它依賴庫。以下以一個簡單的http server為例,先上源碼:

************************************************************

package main

import(

"net/http"

)

funcmain(){

http.Handle("/",http.FileServer(http.Dir("html")))

http.ListenAndServe("0.0.0.0:8080",nil)

}

************************************************************

main函數裏代碼說明:

//第一行:設置主目錄為啟動目錄下的html目錄

//第二行:啟動http服務,監聽8080端口

************************************************************

步驟1:在windows系統下(本人用的是win10)安裝go語言的開發環境及可視化編譯器LiteIDE(步驟很簡單,網上教程很多)

步驟2:新建Go1 Command Project,命名為"Test"

技術分享圖片

步驟3:import裏修改為"net/http",main()函數修改為如下兩行代碼:

http.Handle("/",http.FileServer(http.Dir("html")))

http.ListenAndServe("0.0.0.0:8080",nil)

步驟4:目標環境修改為cross-arm6,按“ctrl+B”編譯,生成的執行文件為源碼目錄下的"Test",無後綴

技術分享圖片

步驟5:復制"Test"到你的arm開發板(樹莓派raspberrypi、香橙派orangepi),並授權:sudo chmod 777 Test,同時在“Test”所在目錄新建一個“html”目錄,運行./Test

接下來就可以通過http://開發板ip:8080訪問http服務了,記住新建一個“html”目錄後,放進一些html文件/其它文件,可像普通網站一樣瀏覽、下載。

************************************************************

1.本例建立一個靜態網站,在main函數裏添加http.HandleFunc可增加動態處理能力

2.在raspberry pi 2b,orange pi lite測試通過(arm版本前向兼容)

golang 2行代碼在基於arm linux的樹莓派、orangepi上運行http web服務