发布于2026-07-12 阅读(0)
扫一扫,手机访问
在 CentOS 上部署 Golang 应用,有几个环节是绕不开的。先把基础打扎实,后面才不至于手忙脚乱。

yum install golang 一把搞定,要么去官网下载 .tar.gz 手动解压到 /usr/local/go。别忘了把 GOROOT、GOPATH、PATH 这些环境变量写进 ~/.bashrc 或 /etc/profile,然后 source 一下让它们生效。装没装对?跑一句 go version 就能验证。go mod init 再 go mod tidy,确保 go.mod 和 go.sum 保持一致。不然换台机器构建结果就可能不一样,踩坑的概率直线上升。chmod +x 是基本功。GOOS=linux GOARCH=amd64。如果需要跨架构,写个脚本批量设置 GOOS 和 GOARCH 就行,省时省力。CGO_ENABLED=0 设为 0,这样编译出来的是静态二进制文件,不依赖外部动态库,部署起来最省心。但如果项目里用到了 CGO(比如调用 C 库),那就得老老实实装上 gcc 等工具链,并且目标系统上的 glibc 或 C 库版本必须匹配,否则启动时会翻车。CGO_ENABLED=0 go build -ldflags "-s -w",去掉符号表和调试信息,能让体积小一截。如果需要彻底的静态链接,可以加上 -extldflags '-static',但注意这只在 CGO 禁用时才有意义。-p 参数并行构建能提速,时不时用 go clean -cache 清理一下缓存,避免构建环境越来越臃肿。nohup ./app & 把程序扔到后台,再重定向输出到日志文件,方便排查问题。kill -9,优先用 kill -15 发 SIGTERM 信号,让程序完成清理再退出。更稳妥的做法是配合 systemd 来管理进程,开机自启、重启策略、日志采集全搞定。.env 或 config.ini 这类配置文件后,通常需要重启服务才能生效。发布时最好规划好滚动更新或蓝绿切换,把服务中断时间降到最低。app-linux-amd64)。在制品库或发布页面上清晰标注,避免用错。upx --best),能进一步压缩二进制。代价是启动时间会稍微变长,而且调试信息会丢失,按需使用就好。CGO_ENABLED=0 编出静态二进制,一劳永逸。chmod 777,遵循最小权限原则设置可执行文件和配置文件的访问权限。~/.bashrc 或 /etc/profile 后没 source,会导致 go 命令或构建变量不可用,排查时先检查这一步。GOARCH 设成了 amd64,但目标机器是 arm64,运行时会直接报 exec format error。核对好架构再部署。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8