返回介绍

1.16 Supervisord

发布于 2020-10-05 10:51:44 字数 4030 浏览 1191 评论 0 收藏 0

Supervisord 是用 Python 实现的一款非常实用的进程管理工具,supervisord 还要求管理的程序是非 daemon 程序,supervisord 会帮你把它转成 daemon 程序,因此如果用 supervisord 来管理 nginx 的话,必须在 nginx 的配置文件里添加一行设置 daemon off 让 nginx 以非 daemon 方式启动。

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. 新建管理的应用

     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 安装完成后有两个可用的命令行 supervisord 和 supervisorctl,命令使用解释如下:

  • 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 都不会自动重启。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文