Supervisor 部署go gin服務
阿新 • • 發佈:2021-12-30
1. supervisord 安裝
wget https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg sh setuptools-0.6c11-py2.7.egg easy_install supervisor echo_supervisord_conf >/etc/supervisord.conf mkdir /etc/supervisord.conf.d
2.修改配置/etc/supervisord.conf
[include]
files = /etc/supervisord.conf.d/*.conf
3.新建管理的應用
cd /etc/supervisord.conf.d
vim idphoto_server_lite_supervisor.conf
4.配置檔案:
command 執行命令
directory cd 到指定目錄
environment環境變數配置
[program:idphoto_server_lite] command = ./main directory = /data2/yingjie/go/idphoto_server_lite autostart = true startsecs = 5 user = root redirect_stderr = true stopsignal=QUIT ; signal used to kill process (default TERM) stopwaitsecs=2 ; max num secs to wait b4 SIGKILL (default 10) stopasgroup=true ; send stop signal to the UNIX process group (default false) killasgroup=true ; SIGKILL the UNIX process group (deffalse) stdout_logfile = /data2/yingjie/go/idphoto_server_lite/super_log/idphoto_server_lite_supervisor.log environment=LD_LIBRARY_PATH=/data2/yingjie/go/idphoto_server_lite/c_library/idphoto/libs
5.supervisord 管理
Supervisord 安裝完成後有兩個可用的命令列 supervisord 和 supervisorctl,命令使用解釋如下:
- supervisord -c /etc/supervisord.conf 首次安裝啟動supervisor
- supervisord,初始啟動 Supervisord,啟動、管理配置中設定的程序。
- supervisorctl stop programxxx,停止某一個程序(programxxx),programxxx 為 [program:beepkg] 裡配置的值,這個示例就是 beepkg。
- supervisorctl start programxxx,啟動某個程序
- supervisorctl restart programxxx,重啟某個程序
- supervisorctl stop groupworker: ,重啟所有屬於名為 groupworker 這個分組的程序(start,restart 同理)
- supervisorctl stop all,停止全部程序,注:start、restart、stop 都不會載入最新的配置檔案。
- supervisorctl reload,載入最新的配置檔案,停止原有程序並按新的配置啟動、管理所有程序。
- supervisorctl update,根據最新的配置檔案,啟動新配置或有改動的程序,配置沒有改動的程序不會受影響而重啟。
注意:顯示用 stop 停止掉的程序,用 reload 或者 update 都不會自動重啟。