golang 2行代碼在基於arm linux的樹莓派、orangepi上運行http web服務
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服務