您的位置:首页 >Golang项目如何在Ubuntu上打包部署
发布于2026-05-02 阅读(0)
扫一扫,手机访问

将Golang项目从开发环境顺利迁移到Ubuntu生产服务器,是每个开发者都会面对的环节。这个过程其实并不复杂,关键在于几个清晰的步骤。下面,我们就来完整走一遍这个流程。
万事开头先搭环境。首先,得确保你的Ubuntu系统已经装好了Go。如果还没安装,打开终端,两条命令就能搞定:
sudo apt update
sudo apt install golang-go
安装完成后,别忘了验证一下,看看版本对不对:
go version
环境变量是Go顺利工作的“路标”。虽然安装程序通常会帮你自动设置,但手动检查一下总归更放心。你可以通过以下命令来查看和配置:
echo $GOPATH
echo $GOROOT
# 如果需要手动设置GOPATH
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
环境就绪,接下来就是项目的编译了。进入你的项目根目录,执行编译命令:
go build -o myapp
命令执行成功后,当前目录下就会生成一个名为 myapp 的可执行文件。这一步,算是把源代码“打包”成了服务器能直接运行的二进制程序。
为了方便传输,我们通常会把编译好的可执行文件打个包。使用经典的 tar 命令就能轻松完成:
tar -czvf myapp.tar.gz myapp
这样一来,一个包含了应用程序的 myapp.tar.gz 压缩包就准备好了。
打包好的文件需要“搬家”到目标服务器。scp 命令是完成这个任务最常用的工具之一:
scp myapp.tar.gz user@remote_host:/path/to/deploy
tar -xzvf myapp.tar.gz -C /path/to/deploy
部署到位,是时候让应用跑起来了。直接在服务器上执行解压后的二进制文件即可:
/path/to/deploy/myapp
看到应用正常启动并监听端口,就说明部署的核心环节已经成功了。
对于生产环境的应用,我们肯定不希望每次服务器重启都要手动登录去启动服务。这时候,就需要借助 systemd 来设置开机自启动,这是目前Linux系统服务管理的标准做法。
首先,创建一个服务配置文件:
sudo nano /etc/systemd/system/myapp.service
在文件中填入以下配置内容,记得根据实际情况替换其中的用户名、用户组和程序路径:
[Unit]
Description=My Go Application
After=network.target
[Service]
User=your_user
Group=your_group
ExecStart=/path/to/deploy/myapp
Restart=always
[Install]
WantedBy=multi-user.target
保存并退出编辑器后,依次执行以下命令来启用并启动这个服务:
sudo systemctl daemon-reload
sudo systemctl enable myapp.service
sudo systemctl start myapp.service
最后,检查一下服务的运行状态,确认一切正常:
sudo systemctl status myapp.service
遵循以上步骤,从环境准备、编译打包到服务器部署和后台服务化管理,一个完整的Golang项目在Ubuntu上的发布流程就清晰了。剩下的,就是根据你的具体业务逻辑去迭代和优化了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9