热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在服务器screate.aspx文件执行_如何在windows环境下,用GolandIDE编译go的linux可执行文件...

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

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

前言
2b591932c69ca7926d51297e6eb77a62.png

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

17eb2f5b3306bc1fb24904cdac1cbdae.png

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

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

本文分为三部分:

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

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

16dbdde00f4e17dc03832ff59c2f7284.png

打开ide terminal窗口

9b74c446206bde1d38efc6564f6d98c9.png

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

71376954666c9555131ca114d9b4b45d.png

set CGO_ENABLED=0set GOARCH=amd64set GOOS=linux

构建

go build main.go

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

a1d357d405504db8d34927acc8405616.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 &

效果

1c13c0c97a5fd98cf1170d83aa67a627.png
第三部分 遇到问题及解决

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

3640fe191d35ae9dbafbd8f23f00a874.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下载相关文件。

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

d6d9b462cf0f2c390b901605211745a5.png



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
author-avatar
爱旅游的星琴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有