您的位置:首页 >如何在Ubuntu上部署Golang编译的应用
发布于2026-04-26 阅读(0)
扫一扫,手机访问
将Golang编译好的应用部署到Ubuntu服务器上,整个过程其实可以梳理成一条清晰的路径。下面,我们就来一步步拆解,看看如何从零开始,让应用在服务器上稳定跑起来。

部署的第一步,自然是确保目标服务器上已经装好了Golang运行环境。如果还没安装,打开终端,两条命令就能搞定:
sudo apt update
sudo apt install golang-go
安装完成后,别忘了验证一下版本,确保一切就绪:
go version
接下来,回到你的开发环境。假设你的应用主文件是 main.go,编译命令非常简单。使用 -o 参数可以指定生成的可执行文件名称:
go build -o myapp main.go
命令执行后,当前目录下就会出现一个名为 myapp 的二进制文件,这就是我们待会儿要部署的主角。
怎么把本地的应用“搬”到服务器上呢?scp 命令是经典选择。假设你的服务器IP是 192.168.1.100,用户名是 user,那么传输命令长这样:
scp myapp user@192.168.1.100:/home/user/
输入服务器密码后,文件就会安全地复制到目标用户的主目录下了。
如果你的应用需要读取特定的环境变量(比如数据库连接字符串),就需要在服务器上进行配置。通常,修改用户配置文件(如 ~/.bashrc 或 ~/.profile)是个好办法。在文件末尾添加:
export MY_ENV_VAR=value
添加保存后,运行下面这条命令,让配置立即生效:
source ~/.bashrc
万事俱备,现在可以尝试运行应用了。登录服务器,进入应用所在目录,直接执行:
cd /home/user/
./myapp
如果终端没有报错并且出现了预期的输出,恭喜你,应用已经成功跑起来了。
但让应用在终端前台运行还不够,我们需要它能在后台持续工作,并且服务器重启后能自动启动。这时候,就需要请出 Systemd 来把它配置成系统服务。
首先,创建一个服务配置文件:
sudo nano /etc/systemd/system/myapp.service
在打开的文件中,填入以下基础配置(请根据实际情况调整用户、路径等参数):
[Unit]
Description=My Golang Application
After=network.target
[Service]
User=user
Group=user
ExecStart=/home/user/myapp
Restart=always
[Install]
WantedBy=multi-user.target
保存退出后,依次执行以下三条命令,重新加载配置、启用服务并立即启动它:
sudo systemctl daemon-reload
sudo systemctl enable myapp.service
sudo systemctl start myapp.service
服务化之后,如何查看应用运行状态和日志呢?Systemd 自带的日志管理工具 journalctl 就派上用场了。使用下面的命令可以实时跟踪应用日志:
sudo journalctl -u myapp.service -f
这样,应用的输出和错误信息就能一目了然,方便排查问题。
走完以上七个步骤,你的Golang应用就已经在Ubuntu服务器上完成了从部署到服务化的全过程,可以稳定、可靠地对外提供服务了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9