我正在嘗試從 PHP 遷移到 Go 并計劃完全刪除 nginx。但是我不知道如何在后臺將 go http 網絡服務器作為守護進程運行,也不知道如何在重新啟動時自動啟動網絡服務器,或者如何終止該進程。使用 nginx 我所做的就是$ systemctl start nginx.service$ systemctl restart nginx.service$ systemctl stop nginx.service$ systemctl enable nginx.service$ systemctl disable nginx.service這很方便,但似乎我不能用 Go http 服務器來做到這一點。我必須像任何其他 Go 程序一樣編譯和運行它。對于這些問題,有哪些解決方案?
1 回答

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
這與其說是 Go 問題,不如說是系統管理問題。有多種方法可以向 systemd 添加命令(如這篇博文)。
就我個人而言,我更喜歡將我的應用程序與我的服務分開,因此我傾向于將supervisord用于我的程序,這些程序往往會頻繁啟動、停止或重新啟動。supervisord 的文檔非常簡單,但基本上你可以創建一個配置文件來描述你想要運行的服務,用于運行它的命令(例如/path/to/go/binary -flag
)你想要如何處理啟動、停止、故障恢復、日志記錄等....
- 1 回答
- 0 關注
- 148 瀏覽
添加回答
舉報
0/150
提交
取消