linux部署go项目和服务启动

146 阅读1分钟

mac环境下打包

  • 用的gin框架, 由于go是编译型语言,不同的系统,需要不同的编译方式。
  • main目录下执行打包命令
  • GOOS=linux GOARCH=amd64 go build -o hero-ranking-server main.go

这包就打好了, 叫hero-ranking-server

利用systemd服务启动

1、创建一个go-hero.servcie文件

[Unit]  
Description=Hero Ranking Server  
After=network.target  
  
[Service]  
ExecStart=/u01/hero-ranking-server/hero-ranking-server  
WorkingDirectory=/u01/hero-ranking-server  
Restart=always  
Environment=GIN_MODE=release  
  
[Install]  
WantedBy=multi-user.target

2、启动服务

  • 将配置文件保存到 /etc/systemd/system/ 目录
  • 重新加载 systemd 配置sudo systemctl daemon-reload
  • 启用服务
sudo systemctl enable go-hero
sudo systemctl start go-hero
  • 查看服务状态 sudo systemctl status go-hero

image.png

3、日志查看

sudo journalctl -u go-hero -f

4、包更新

  • 替换 hero-ranking-server 后端服务包

  • 停止服务
    停止正在运行的服务:

    sudo systemctl stop go-hero.service
    
  • 启动服务
    重新启动服务加载新文件:

     sudo systemctl start go-hero.service
    
  • 验证服务状态
    检查服务是否成功启动并运行正常:

    sudo systemctl status go-hero.service