阅读量:2
在Ubuntu环境下打包Golang应用,核心步骤如下:
- 安装Go环境
通过包管理器安装:sudo apt update && sudo apt install golang-go,或从官网下载二进制包解压安装。
配置环境变量(若需自定义路径):编辑~/.bashrc,添加export PATH=$PATH:/usr/local/go/bin,执行source ~/.bashrc。 - 准备项目代码
创建项目目录,编写main.go等文件,若使用模块化开发,需在项目根目录执行go mod init <模块名>。 - 编译可执行文件
- 本地编译:
go build -o <输出文件名> <主文件.go>(如go build -o myapp main.go)。 - 交叉编译(可选):通过设置
GOOS和GOARCH生成其他平台可执行文件(如GOOS=linux GOARCH=amd64)。
- 本地编译:
- 优化与打包
- 减小体积:添加编译参数
-ldflags="-s -w"去除调试信息。 - 静态编译(避免动态库依赖):
CGO_ENABLED=0 go build -o <输出文件名>。 - 压缩分发:用
tar -czvf <压缩包名>.tar.gz <可执行文件>打包。
- 减小体积:添加编译参数
- 部署与运行
- 直接运行:
./<可执行文件>。 - 作为服务:创建
systemd服务文件(如/etc/systemd/system/myapp.service),配置ExecStart指向可执行文件。 - 容器化(可选):编写
Dockerfile,基于官方Go镜像构建镜像。
- 直接运行:
关键说明:
- 依赖管理:通过
go mod tidy确保依赖正确下载。 - 权限问题:若需全局运行,用
chmod +x <可执行文件>添加执行权限。 - 生产环境建议:使用
-ldflags="-s -w"优化二进制大小,或静态编译避免动态库依赖。
以上就是关于“Ubuntu环境下Golang打包有哪些步骤”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm