beego的Supervisor部署

2023-11-21 10:46 更新

Supervisord 是用 Python 實(shí)現(xiàn)的一款非常實(shí)用的進(jìn)程管理工具,supervisord 還要求管理的程序是非 daemon 程序,supervisord 會(huì)幫你把它轉(zhuǎn)成 daemon 程序,因此如果用 supervisord 來(lái)管理 nginx 的話,必須在 nginx 的配置文件里添加一行設(shè)置 daemon off 讓 nginx 以非 daemon 方式啟動(dòng)。

 supervisord 安裝

  1. 安裝 setuptools

     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. 新建管理的應(yīng)用

     cd /etc/supervisord.conf.d
     vim beepkg.conf
    

    配置文件:

     [program:beepkg]
     directory = /opt/app/beepkg
     command = /opt/app/beepkg/beepkg
     autostart = true
     startsecs = 5
     user = root
     redirect_stderr = true
     stdout_logfile = /var/log/supervisord/beepkg.log
    

supervisord 管理

Supervisord 安裝完成后有兩個(gè)可用的命令行 supervisord 和 supervisorctl,命令使用解釋如下:

  • supervisord,初始啟動(dòng) Supervisord,啟動(dòng)、管理配置中設(shè)置的進(jìn)程。
  • supervisorctl stop programxxx,停止某一個(gè)進(jìn)程(programxxx),programxxx 為 [program:beepkg] 里配置的值,這個(gè)示例就是 beepkg。
  • supervisorctl start programxxx,啟動(dòng)某個(gè)進(jìn)程
  • supervisorctl restart programxxx,重啟某個(gè)進(jìn)程
  • supervisorctl stop groupworker: ,重啟所有屬于名為 groupworker 這個(gè)分組的進(jìn)程(start,restart 同理)
  • supervisorctl stop all,停止全部進(jìn)程,注:start、restart、stop 都不會(huì)載入最新的配置文件。
  • supervisorctl reload,載入最新的配置文件,停止原有進(jìn)程并按新的配置啟動(dòng)、管理所有進(jìn)程。
  • supervisorctl update,根據(jù)最新的配置文件,啟動(dòng)新配置或有改動(dòng)的進(jìn)程,配置沒(méi)有改動(dòng)的進(jìn)程不會(huì)受影響而重啟。
注意:顯示用 stop 停止掉的進(jìn)程,用 reload 或者 update 都不會(huì)自動(dòng)重啟。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)