关于go程序部署的简单记录

写了一个微服务,想部署到linux服务器,代码是在win7上编辑的,部署的时候可以直接打包成一个二进制文件:

$env:CGO_ENABLED=0; $env:GOOS="linux"; $env:GOARCH="amd64"; go build -ldflags="-s -w" -o audio-service main.go

创建服务文件:

sudo nano /etc/systemd/system/audio-service.service

写入内容:

[Unit]
Description=Audio Concatenation Service
After=network.target

[Service]
Type=simple
User=你的用户名
Group=你的用户组
WorkingDirectory=/opt/audio-service
ExecStart=/opt/audio-service/audio-service
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

运行服务:

sudo systemctl daemon-reload
sudo systemctl start wechat-service
sudo systemctl enable wechat-service

应用enable指开机自启,设置成功会看到类似下面的信息:

Created symlink /etc/systemd/system/multi-user.target.wants/wechat-service.service → /etc/systemd/system/wechat-service.service.

系统服务的管理:

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start audio-service

# 设置开机自启
sudo systemctl enable audio-service

# 查看状态
sudo systemctl status audio-service

# 查看日志
sudo journalctl -u audio-service -f

# 停止服务
sudo systemctl stop audio-service

# 重启服务
sudo systemctl restart audio-service

# 取消开机自启
systemctl status wechat-service

# 获取开机自启列表
systemctl list-unit-files --type=service --state=enabled

标签: go语言

移动端可扫我直达哦~

推荐阅读

thumbnail 2026-06-04

go语言gin框架的学习笔记

上半年尝试制作了一个微信小程序,通过小程序请求后台服务器,服务器负责组装好用户需求的mp3文件,然后返回给用户播放地址,以实现一个简单的听写功能。其中后台的逻辑基本都是通过deepseek实现的,虽然成功跑通了,但是一直想从头手搓一遍...

少儿编程 go语言

thumbnail 2026-06-02

提升读写性能,go语言的bufio包

最近在尝试学习go语言,想去洛谷做几道题吧,结果前几个答案是正确的,最后两个报了超时,标准输入输出fmt存在读写性能上的缺陷。deepseek推荐了这个bufio包。bufio 包的核心功能bufio 提供缓冲 I/O,通过减少系统调...

少儿编程 go语言

thumbnail 2026-05-30

fmt,Go 语言自带的格式化输入输出包

fmt 可以理解为 Format(格式)的缩写——因为它擅长格式化数据(比如把数字嵌进句子中间)。fmt 就是 Go 语言的"终端对话工具",让你能在屏幕上显示东西,也能从键盘获取输入。fmt包的常用指令 概念对应 fmt 函数标准输...

少儿编程 go语言

thumbnail 2026-05-27

乱点技能树之-go语言笔记篇

系统仍旧是廉颇老矣的windows7,所以很多软件的新版本都没法运行,就像go已经出到了1.26版本,但win7上仅支持1.20.14,再往上就不受支持了,所以下方的代表仅在上述版本中验证通过。学习go语言的第一感受是,go语言取消了...

少儿编程 go语言