1. 程式人生 > 其它 >Supervisor 部署go gin服務

Supervisor 部署go gin服務

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 (def
false) 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 都不會自動重啟。