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

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

前言

c1da22ea947d95dc2b025e7466ca8cb4.png

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

54a429778c9e648c96eb873c5400afdf.png

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

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

本文分为三部分:

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

第一部分 编译构建

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

cd7c6d7b558345fe337f25635c192c2d.png

打开ide terminal窗口

548f6b8c668f05b71fa2704521998afc.png

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

958970c82af05033cc9ce1207f3963b1.png
set CGO_ENABLED=0set GOARCH=amd64set GOOS=linux

构建

go build main.go

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

d9c2680e96ef79457206ec818e9be884.png

第二部分 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 &

效果

a11dff67ab0cced8fb94a5b9ecf6b161.png

第三部分 遇到问题及解决

问题1 unrecognized import path "golang.org/x/sys/unix"

d36d0a679644f8076b9aa860e3f66040.png

....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目录下,创建“golang.org/x”目录,然后打开cmd窗口,找到对应的目录,用git clone命令从https://github.com/golang/sys.git下载相关文件。

190805ce61a2deb82e9e27c0c790bbb4.png

问题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,问题解决。

2b098cb75752e2e868a21510a88d4f39.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值