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