supervisor安装入门使用记录

简介: supervisor安装 使用 入门

安装的系统版本:
root@iZbp1eazisi1qi938qwctmZ:~# cat /proc/version
Linux version 4.4.0-79-generic (buildd@lcy01-30) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #100-Ubuntu SMP Wed May 17 19:58:14 UTC 2017

1.安装supervisor
Ubuntu可以直接通过apt安装:

apt-get install supervisor

查看版本:
root@iZbp1eazisi1qi938qwctmZ:/apptest/supervisortest/shdir# supervisord -version
3.2.0

2.给我们自己开发的应用程序编写一个配置文件,让supervisor来管理它。每个进程的配置文件都可以单独分拆,放在/etc/supervisor/conf.d/目录下,以.conf作为扩展名

root@iZbp1eazisi1qi938qwctmZ:~# cd /etc/supervisor/conf.d/
root@iZbp1eazisi1qi938qwctmZ:/etc/supervisor/conf.d# ll
total 16
drwxr-xr-x 2 root root 4096 Jun 19 19:55 ./
drwxr-xr-x 3 root root 4096 Jun 19 17:41 ../
-rw-r--r-- 1 root root 129 Jun 19 17:02 app.conf
-rw-r--r-- 1 root root 318 Jun 19 17:15 somjob.conf

例如:somejob文件

[program:somejob]
command=/usr/bin/python /apptest/supervisortest/shdir/somejob.py
directroy=/apptest/supervisortest/shdir
autostart=true
autorestart=true
startretries=3
user=root
stdout_logfile=/apptest/supervisortest/shdir/%(program_name)s.log
stderr_logfile=/apptest/supervisortest/shdir/%(program_name)s.logmejob

command脚本文件目录结构:
root@iZbp1eazisi1qi938qwctmZ:/apptest/supervisortest/shdir# ll
total 320
drwxr-xr-x 2 root root 4096 Jun 19 17:20 ./
drwxr-xr-x 4 root root 4096 Jun 19 15:35 ../
-rw-r--r-- 1 root root 306803 Jun 20 14:04 somejob.log
-rw-r--r-- 1 root root 0 Jun 19 17:16 somejob.logmejob
-rwxrwxrwx 1 root root 335 Jun 19 17:05 somejob.py*

command脚本:
import sys, time
while True:

print "pyserver runing %s"%time.ctime()
sys.stdout.flush()
time.sleep(10)

3.supervisord.conf设置
增加读取配置脚本
[include]
files = /etc/supervisor/conf.d/*.conf

还可增加web server访问端口,不过好像没生效(本地机器可以访问到index.html),分号表示注释
[inet_http_server]
; Web管理界面设定
port=9001
;username = admin
;password = 123

4.启动停止进程命令:
重启supervisor,让配置文件生效,然后运行命令supervisorctl启动进程:

supervisorctl start somejob

停止进程:

supervisorctl stop somejob

  1. 启动supervisor命令
  2. -n -c /etc/supervisor/supervisord.conf

6.启动完成后查看进程
root@iZbp1eazisi1qi938qwctmZ:~# ps -ef|grep super
root 22393 1 0 Jun19 ? 00:00:15 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
root 22753 22393 0 Jun19 ? 00:00:01 /usr/bin/python /apptest/supervisortest/shdir/somejob.py
root 24317 24249 0 13:51 pts/0 00:00:00 grep --color=auto super
root@iZbp1eazisi1qi938qwctmZ:~#

7.参考资料:
http://blog.csdn.net/orangleliu/article/details/45057377
http://supervisord.org

目录
相关文章
|
1月前
|
Linux
Linux常用统计命令大全
Linux常用统计命令大全
27 0
|
21天前
|
Linux Shell PHP
linux脚本系统管理
在Linux系统管理中,脚本编写是自动化任务的关键,如Shell(Bash、Zsh、Csh)用于基本命令执行,Ruby适用于复杂脚本,Python利用丰富的库进行系统交互,Perl擅长文本处理,而PHP也可用于系统管理。这些脚本语言可实现服务监控、故障恢复、数据备份等功能。编写脚本时,应注意安全性和可靠性,采用错误处理、权限控制和日志记录,并可通过cron job调度执行。
12 2
|
10月前
|
Kubernetes 网络协议 API
k8s查看集群信息及基本命令
集群信息的各种查看基本上是在Master节点操作 1、查看 Node状态 2、查看 Service 信息 3、查看所有名称空间内资源
3489 0
|
网络协议 Shell API
sqoop2系统入门之2汇总:用户指南shell命令【可收藏备查】
sqoop2系统入门之2汇总:用户指南shell命令【可收藏备查】
267 0
|
缓存 资源调度 前端开发
📒十分钟快速入门Yarn包管理工具
📒十分钟快速入门Yarn包管理工具
213 4
📒十分钟快速入门Yarn包管理工具
|
缓存 监控 NoSQL
Python编程:supervisor模块管理进程实例
Python编程:supervisor模块管理进程实例
545 0
Python编程:supervisor模块管理进程实例
|
监控 网络协议 安全
Supervisor-让你的程序监控管理更得心应手
Supervisor-让你的程序监控管理更得心应手
603 0
Supervisor-让你的程序监控管理更得心应手
|
监控 安全 Java
使用supervisor管理你的程序
Supervisor是python开发的一种进程管理工具。不仅可以监控我们的程序还可以自动重启我们的程序,非常好用。
166 1
使用supervisor管理你的程序
|
NoSQL 应用服务中间件 Linux