前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >supervisor进程拉起工具

supervisor进程拉起工具

作者头像
98k
发布2018-10-10 18:03:19
1.3K0
发布2018-10-10 18:03:19
举报
文章被收录于专栏:Django ScrapyDjango Scrapy

supervisor介绍

Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动、重启(自动重启程序)、关闭进程(不仅仅是 Python 进程)

安装命令

包含 安装supervisor的依赖文件、supervisor程序、加入开机自启、检查状态等操作 install_supervisor.sh脚本内容

代码语言:javascript
复制
#!/bin/bash
cd /home/ctier
sudo apt-get  update
sudo apt-get install -y python-pkg-resources python2.7-meld3 subversion
sudo wget http://softpkg.rd.chanjet.com.cn/ops/pkgname/python-supervisor_3.1.3_all.deb
sudo dpkg -i /home/ctier/python-supervisor_3.1.3_all.deb > /dev/null 2>&1
sudo /usr/local/bin/supervisord -c /etc/supervisord.conf
sudo  supervisorctl status

配置

生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

启动

supervisord -c /etc/supervisord.conf

查看进程是否运行

ps aux | grep supervisord

修改配置文件
代码语言:javascript
复制
vim /etc/supervisord.conf
在配置文件底部,配置include
[include]
files=/etc/supervisor/*.conf #若你本地无/etc/supervisor目录,请自建
开始写自己需要守护的进程配置
代码语言:javascript
复制
cd /etc/supervisor
vim ossfs.conf # 这里写你要守护的进程的配置文件的名称(自定义)

配置文件这样写

; 设置进程的名称,使用 supervisorctl 来管理进程时需要使用该进程名 [program:your_program_name] command=python server.py --port=9000 ;numprocs=1 ; 默认为1 ;process_name=%(program_name)s ; 默认为 %(program_name)s,即 [program:x] 中的 x directory=/home/python/tornado_server ; 执行 command 之前,先切换到工作目录 user=oxygen ; 使用 oxygen 用户来启动该进程 ; 程序崩溃时自动重启,重启次数是有限制的,默认为3次 autorestart=true redirect_stderr=true ; 重定向输出的日志 stdout_logfile = /var/log/supervisord/tornado_server.log loglevel=info

更改配置文件完成后需要重置supervisor服务
代码语言:javascript
复制
supervisorctl reload
常见用法

supervisord : 启动supervisor supervisorctl reload :修改完配置文件后重新启动supervisor supervisorctl status :查看supervisor监管的进程状态 supervisorctl start 进程名 :启动XXX进程 supervisorctl stop 进程名 :停止XXX进程 supervisorctl stop all:停止全部进程,注:start、restart、stop都不会载入最新的配置文件。 supervisorctl update:根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

可以网页管理

代码语言:javascript
复制
vim /etc/supervisord.conf

修改配置文件

代码语言:javascript
复制
[inet_http_server]       
port=0.0.0.0:9001     ; 对所有ip都可以访问
username=xxx        ;自定义
password=xxx        ;自定义

最后重置supervisor

代码语言:javascript
复制
supervisorctl reload

网页端管理

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.09.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • supervisor介绍
  • 安装命令
  • 配置
    • 生成配置文件
      • 启动
        • 查看进程是否运行
          • 修改配置文件
            • 开始写自己需要守护的进程配置
              • 更改配置文件完成后需要重置supervisor服务
                • 常见用法
                • 可以网页管理
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档