supervisor进程拉起工具

supervisor介绍

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

安装命令

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

#!/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

修改配置文件

vim /etc/supervisord.conf
在配置文件底部,配置include
[include]
files=/etc/supervisor/*.conf #若你本地无/etc/supervisor目录,请自建

开始写自己需要守护的进程配置

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服务

supervisorctl reload

常见用法

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

可以网页管理

vim /etc/supervisord.conf

修改配置文件

[inet_http_server]       
port=0.0.0.0:9001     ; 对所有ip都可以访问
username=xxx        ;自定义
password=xxx        ;自定义

最后重置supervisor

supervisorctl reload

网页端管理

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏性能与架构

mysql分布式前端代理 - Amoeba最简配置案例

image.png 主要配置文件说明 1)amoeba.xml 定义客户端如何连接amoeba等基础信息 2)dbServers.xml Amoeba作为数据...

3436
来自专栏闻道于事

Linux云服务器下Redis安装与部署

这里不建议先解压再上传到服务器,之前我这样做,编译报错,后来上传压缩包并按照官方步骤解压编译正常

801
来自专栏LanceToBigData

MySQL(二)之服务管理与配置文件修改和连接MySQL

上一篇给大家介绍了怎么在linux和windows中安装mysql,本来是可以放在首页的,但是博客园说“安装配置类文件”不让放在首页。接下来给大家介绍一下在li...

2528
来自专栏JAVA同学会

MAVEN简介之——pom.xml

maven是围绕着构建生命周期这个核心概念为基础的。maven里有3个内嵌的构建生命周期,default,clean和site。 default是处理你项目部署...

1512
来自专栏技术墨客

Nginx上手指南 原

通过几个基本的任务介绍Nginx的基本使用方法。在阅读之前请先安装Nginx。本文将简要介绍Nginx启动、停止、加载配置文件的方法,介绍配置文件的基本结构,最...

1204
来自专栏从零开始学自动化测试

appium+python自动化57-chromedriver与chrome版本

由于app的webview自动化是依赖于chromedriver的,并且每个app的webview版本号都不太一样,这就导致了,每次都需要重新去下载对应的chr...

1582
来自专栏JAVA同学会

MAVEN简介之——pom.xml

maven是围绕着构建生命周期这个核心概念为基础的。maven里有3个内嵌的构建生命周期,default,clean和site。

961
来自专栏扎心了老铁

如何使用supervisor管理你的应用

1、前言 Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是UNIX-like系...

1.3K12
来自专栏玩转JavaEE

Linux上安装MongoDB

MongoDB在Windows上的安装过程整体上来说并不难,网上的资料也比较多,这里我就不介绍了,我主要说下如何在Linux环境下安装MongoDB。 ----...

7075
来自专栏开源优测

AutoLine开源平台升级新增自定义关键字支持

1022

扫码关注云+社区

领取腾讯云代金券