写了一个微服务,想部署到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

