記systemctl啟動go程序

最近經(jīng)常用到gin框架搭建API接口程序,在部署到服務(wù)器時,nohup方式感覺挺麻煩,雖然相應(yīng)的命令保存在了shell文件中,但是還是要每次找到對應(yīng)文件執(zhí)行,就想著直接配置service文件形式,然后直接start、stop就行了,記錄一下步驟和配置:

  1. 配置啟動的shell文件demo.sh,之所以配置是因為Windows系統(tǒng)build的go程序文件,需要先授權(quán)用戶可執(zhí)行文件。
#!/bin/sh
sudo chmod +x demo && ./demo
  1. 將demo.sh和go文件放在同一目錄,然后配置對應(yīng)的service
  2. cd到/etc/systemd/system/下,創(chuàng)建demo.service:
touch demo.service
  1. 將如下配置拷貝到service文件中
[Unit]
Description="Just a demo"
After= network.target

[Service]
Type=simple
# 可根據(jù)實際情況修改user
User=root
WorkingDirectory=/root/demo/
# 根據(jù)實際情況配置
ExecStart=/bin/sh /root/demo/demo.sh
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
  1. 重新加載
systemctl daemon-reload
  1. 啟動
systemctl start demo
  1. 查看啟動狀態(tài)
systemctl status demo
  1. 根據(jù)需要設(shè)置系統(tǒng)開機啟動
systemctl enable demo

接下來再更新go文件時,就可以直接上傳文件,systemctl restart一下就OK啦

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容