失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > fastdfs windows部署_Go在windows下编译Linux可执行文件

fastdfs windows部署_Go在windows下编译Linux可执行文件

时间:2020-06-02 03:18:52

相关推荐

fastdfs windows部署_Go在windows下编译Linux可执行文件

欢迎关注我的头条号:Wooola,专注于Java、Golang、微服务架构,致力于每天分享原创文章、快乐编码和开源技术。

前言

最近楼主做了一个滑块验证码登录功能,但有个问题,悲观估计一天大约会产生两百多G临时图片放在fastdfs文件服务器上。

所以楼主基于go(新手)的goroutine多线程写了一个清理程序:imgcleaner,来缓解文件服务器压力。本文将重点描述Go在windows下编译Linux可执行文件全过程,分享给大家,希望对大家有所帮助。

作为go新手,最好的学习方式就是亲自动手加用笔记整理。

本文分为三部分:

第一部分 编译构建第二部分 linux环境部署第三部分 遇到问题及解决

第一部分 编译构建

在Goland ide中找到需要发布的程序入口文件:main.go

打开ide terminal窗口

设置编译linux二进制文件环境变量

set CGO_ENABLED=0set GOARCH=amd64set GOOS=linux

构建

go build main.go

输出linux二进制可执行文件:main,如果觉得名字不直观,可以修改。比如楼主重命名为:imgcleaner,意为图片清理器。

第二部分 linux环境部署

修改imgcleaner文件权限

chmod -R 777 imgcleaner

用nohup设置后台执行,同时设置输出日志文件:imgcleaner.log,配置参数文件:

-conf="/home/aiuap_cj/imgcleaner/conf.toml"

最终部署命令:

nohup ./imgcleaner -conf="/home/aiuap_cj/imgcleaner/conf.toml" ->imgcleaner.log &

效果

第三部分 遇到问题及解决

问题1 unrecognized import path "/x/sys/unix"

....Sirupsenlogruserminal_check_unix.go:5:8: cannot find package "/x/sys/unix" in any of:

C:xsysunix (from $GOROOT)

D:xsysunix (from $GOPATH)

解决

在src目录下,创建“/x”目录,然后打开cmd窗口,找到对应的目录,用git clone命令从/golang/sys.git下载相关文件。

问题2 unrecognized import path "/x/*"的解决办法(网上找的)遇到的坑

先用git clone命令,克隆/MXi4oyu/的代码到本地,然后把目录拷贝到src目录下。但是当用go build的时会报错。

syscall_linux.go:38:2: expected 'STRING' found 'return'

解决

留下D:xsys这个目录下的文件,其他都删除,再次用go build,问题解决。

如果觉得《fastdfs windows部署_Go在windows下编译Linux可执行文件》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。