当前位置:

首页 > 编程开发 > Linux下Golang如何部署应用

Linux下Golang如何部署应用

在Linux上部署Golang应用需先安装Go环境,编译生成二进制文件;然后创建systemd服务单元,配置后台运行与自动重启;最后通过systemctl启动、启用服务并查看日志,完成部署验证。

在 Linux 上部署 Golang 应用,听起来复杂,其实拆开看就是几个标准动作。只要把环境配好、编译打包、再用 systemd 管起来,就能让应用稳定跑在后台,还能自动重启。下面按顺序走一遍。

Linux下Golang如何部署应用

安装 Golang

这一步没什么门槛。如果系统里还没装 Go,直接一行命令搞定:

sudo apt-get update
sudo apt-get install golang-go

注意,这是 Ubuntu/Debian 系的命令。如果你用的是 CentOS 或 RHEL,把包管理器换成 yum 或 dnf 就行。安装完用 go version 验证一下,确认版本没问题。

编译 Golang 应用

进入项目目录,执行:

go build -o myapp

会在当前目录生成一个叫 myapp 的可执行文件。注意这里的 -o 指定输出文件名,你完全可以改成自己想要的名字。把二进制文件放到一个固定的路径,比如 /opt/myapp/,方便后续管理。

创建 systemd 服务

手动启动程序容易,但要让它在后台持续运行、开机自启,还得靠 systemd。先创建一个服务文件:

sudo nano /etc/systemd/system/myapp.service

然后把下面这个模板贴进去——注意替换 User、Group 和 ExecStart 里的路径:

[Unit]
Description=My Golang App
After=syslog.target network.target

[Service]
User=
Group=
ExecStart=/path/to/your/myapp
Restart=always

[Install]
WantedBy=multi-user.target

几个关键点:Restart=always 保证程序挂了能自动拉起;After 确保网络和日志系统就绪后再启动应用。保存退出。

启动并启用服务

服务文件写完后,需要让 systemd 重新加载配置,然后启动并设为开机自启:

sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp

这样应用就运行起来了。任何时候想重启,用 systemctl restart myapp 就行。

检查状态与日志

部署完成总要确认一下跑没跑对。用这个命令看服务状态:

sudo systemctl status myapp

如果显示 active (running),恭喜你,部署成功。一旦遇到异常,最实用的是查日志:

journalctl -u myapp

日志会告诉你程序为什么退出、卡在哪里。这个命令能往前翻很多条,配合 -f 参数还能实时跟踪输出。

整个流程走下来其实就五个环节:装 Go、编译、写服务文件、启动、检查。搞清楚每一步的坑(比如用户权限、路径写死、日志位置),之后部署任何 Go 应用都能举一反三。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 Linux
相关文章 更多
linux删除用户与用户组的方法及命令教程
linux删除用户与用户组的方法及命令教程

掌握Linux中删除用户和用户组的正确方法,避免残留文件和进程冲突。本文深入解析userdel和groupdel命令的参数用法,提供处理“用户仍在使用”等常见错误的实战方案。

Linux如何开启端口号?开放端口命令详解
Linux如何开启端口号?开放端口命令详解

详细讲解Linux如何开启端口号以及常用的开放端口命令。

crossover卸载软件下载及重新安装教程
crossover卸载软件下载及重新安装教程

遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
AirBuddy 3 macOS版
AirBuddy 3 macOS版
macOS

AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

AirServer macOS版
AirServer macOS版
macOS

AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

AnyDesk macOS版
AnyDesk macOS版
macOS

AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

WINDOWS 更多
讯飞绘文 网页版
讯飞绘文 网页版
Windows

讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

AirServer Windows版
AirServer Windows版
Windows

AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。

AlwaysUp Windows版
AlwaysUp Windows版
Windows

AlwaysUp是一款面向Windows的系统服务注册与程序托管工具,可让普通应用、脚本及批处理在无人登录时随系统启动,并通过状态检测、异常重启、资源监控和邮件通知保障关键任务持续运行。