fastdfs windows部署_Go在windows下编译Linux可执行文件
歡迎關注我的頭條號:Wooola,專注于Java、Golang、微服務架構,致力于每天分享原創(chuàng)文章、快樂編碼和開源技術。
前言
最近樓主做了一個滑塊驗證碼登錄功能,但有個問題,悲觀估計一天大約會產生兩百多G臨時圖片放在fastdfs文件服務器上。
所以樓主基于go(新手)的goroutine多線程寫了一個清理程序:imgcleaner,來緩解文件服務器壓力。本文將重點描述Go在windows下編譯Linux可執(zhí)行文件全過程,分享給大家,希望對大家有所幫助。
作為go新手,最好的學習方式就是親自動手加用筆記整理。
本文分為三部分:
第一部分 編譯構建
在Goland ide中找到需要發(fā)布的程序入口文件:main.go
打開ide terminal窗口
設置編譯linux二進制文件環(huán)境變量
set CGO_ENABLED=0set GOARCH=amd64set GOOS=linux構建
go build main.go輸出linux二進制可執(zhí)行文件:main,如果覺得名字不直觀,可以修改。比如樓主重命名為:imgcleaner,意為圖片清理器。
第二部分 linux環(huán)境部署
修改imgcleaner文件權限
chmod -R 777 imgcleaner用nohup設置后臺執(zhí)行,同時設置輸出日志文件:imgcleaner.log,配置參數文件:
-conf="/home/aiuap_cj/imgcleaner/conf.toml"最終部署命令:
nohup ./imgcleaner -conf="/home/aiuap_cj/imgcleaner/conf.toml" ->imgcleaner.log &效果
第三部分 遇到問題及解決
問題1 unrecognized import path "golang.org/x/sys/unix"
....github.comSirupsenlogruserminal_check_unix.go:5:8: cannot find package "golang.org/x/sys/unix" in any of:
C:Gosrcgolang.orgxsysunix (from $GOROOT)
D:gitgophersrcgolang.orgxsysunix (from $GOPATH)
解決
在src目錄下,創(chuàng)建“golang.org/x”目錄,然后打開cmd窗口,找到對應的目錄,用git clone命令從https://github.com/golang/sys.git下載相關文件。
問題2 unrecognized import path "golang.org/x/*"的解決辦法(網上找的)遇到的坑
先用git clone命令,克隆https://github.com/MXi4oyu/golang.org的代碼到本地,然后把golang.org目錄拷貝到src目錄下。但是當用go build的時會報錯。
syscall_linux.go:38:2: expected 'STRING' found 'return'解決
留下D:gitgophersrcgolang.orgxsys這個目錄下的文件,其他都刪除,再次用go build,問題解決。
總結
以上是生活随笔為你收集整理的fastdfs windows部署_Go在windows下编译Linux可执行文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中使用opencv_如何在P
- 下一篇: python文件流读取二进制_Pytho