如何在Ubuntu上部署Golang编译的应用
在Ubuntu上部署Golang编译的应用程序
将Golang编译好的应用部署到Ubuntu服务器上,整个过程其实可以梳理成一条清晰的路径。下面,我们就来一步步拆解,看看如何从零开始,让应用在服务器上稳定跑起来。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

1. 安装Golang
部署的第一步,自然是确保目标服务器上已经装好了Golang运行环境。如果还没安装,打开终端,两条命令就能搞定:
sudo apt update
sudo apt install golang-go
安装完成后,别忘了验证一下版本,确保一切就绪:
go version
2. 编译Golang应用程序
接下来,回到你的开发环境。假设你的应用主文件是 main.go,编译命令非常简单。使用 -o 参数可以指定生成的可执行文件名称:
go build -o myapp main.go
命令执行后,当前目录下就会出现一个名为 myapp 的二进制文件,这就是我们待会儿要部署的主角。
3. 将编译好的应用程序传输到Ubuntu服务器
怎么把本地的应用“搬”到服务器上呢?scp 命令是经典选择。假设你的服务器IP是 192.168.1.100,用户名是 user,那么传输命令长这样:
scp myapp user@192.168.1.100:/home/user/
输入服务器密码后,文件就会安全地复制到目标用户的主目录下了。
4. 在Ubuntu服务器上设置环境变量(可选)
如果你的应用需要读取特定的环境变量(比如数据库连接字符串),就需要在服务器上进行配置。通常,修改用户配置文件(如 ~/.bashrc 或 ~/.profile)是个好办法。在文件末尾添加:
export MY_ENV_VAR=value
添加保存后,运行下面这条命令,让配置立即生效:
source ~/.bashrc
5. 运行应用程序
万事俱备,现在可以尝试运行应用了。登录服务器,进入应用所在目录,直接执行:
cd /home/user/
./myapp
如果终端没有报错并且出现了预期的输出,恭喜你,应用已经成功跑起来了。
6. 设置系统服务(可选)
但让应用在终端前台运行还不够,我们需要它能在后台持续工作,并且服务器重启后能自动启动。这时候,就需要请出 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
7. 监控和日志(可选)
服务化之后,如何查看应用运行状态和日志呢?Systemd 自带的日志管理工具 journalctl 就派上用场了。使用下面的命令可以实时跟踪应用日志:
sudo journalctl -u myapp.service -f
这样,应用的输出和错误信息就能一目了然,方便排查问题。
走完以上七个步骤,你的Golang应用就已经在Ubuntu服务器上完成了从部署到服务化的全过程,可以稳定、可靠地对外提供服务了。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
VSCode配置DockerCompose_多容器编排文件的语法自动补全
Docker Compose YAML 无语义补全是因为未绑定官方 Schema 先明确一个核心问题:Docker Compose 的 YAML 文件默认没有语义级补全,必须靠插件 + Schema 绑定才能实现字段级提示。这就像你有一本功能强大的字典,但没告诉编辑器怎么查,结果就是打不出想要的词。
Sublime如何快速打开项目文件?Sublime强大的Goto Anything功能详解
Sublime如何快速打开项目文件?Sublime强大的Goto Anything功能详解 说到Sublime Text的高效,Goto Anything功能不是“能用”,而是必须开箱即用。只要项目索引构建完毕,按下 Ctrl+P(Windows Linux)或 Cmd+P(macOS),瞬间就能定
Sublime怎么配置TailwindCSS Sublime安装智能感应插件【手册】
Sublime Text 无法原生支持 Tailwind CSS 智能提示,必须安装 Tailwind CSS IntelliSense(bradlc 版)插件,并确保 tailwind config js 在项目根目录、content 字段显式包含扩展名、正确配置 additional_synta
Sublime怎么实现代码自动补全 Sublime增强IntelliSense感应【攻略】
Sublime原生无IntelliSense,必须通过LSP插件桥接本地语言服务器实现;默认auto_complete仅前缀匹配、不解析AST或import,无法提供函数签名、类型推导等语义补全。 直白点说,Sublime Text 本身并不自带 IntelliSense 那种“智能感知”能力。它默
Sublime怎么配置Nginx配置文件 Sublime语法高亮效果设置【手册】
Sublime Text 配置Nginx语法高亮:从“灰蒙蒙”到精准识别的实战手册 打开Sublime Text,新建一个 conf文件,敲下server、location ~*这些Nginx指令,结果发现全是清一色的灰色?别急着怀疑插件装错了,问题很可能出在语法绑定上。Sublime Text默认
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

