[supervisor] 使用小记(入门教程)
2015-04-15 11:58
260 查看
之前到现在很久没有用了,还是从安装说下,做个简单的实验,系统为Ubuntu14.04
快速安装配置
sudo pip_python install supervisor sudo echo_supervisord_conf > /etc/supervisord.conf # 会报错 permission denied: /etc/supervisord.conf,可以使用下面的语句 sudo su - root -c "echo_supervisord_conf > /etc/supervisord.conf"
这样就生成了一个原始的配置文件,但是有些需要改动下才好使
sudo vim /etc/supervisord.conf
... [unix_http_server] file=/var/run/supervisor.sock ; (the path to the socket file) ... [supervisord] logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) ... [supervisorctl] serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket ... [include] files = /etc/supervisord.d/*.ini
这里要注意 unix_http_server 跟 supervisorctl中的 sock 文件目录要一致
然后创建目录
sudo su - root -c “mkdir -p /etc/supervisord.d”
之后进程管理的脚本放到supervisord.d就行了
下面就用一个简单的例子来说明
先写一个测试用的脚本#!/usr/bin/python #-*- coding:utf-8 -*- ############################ #File Name: somejob.py #Author: orangleliu #Mail: orangleliu@gmail.com #Created Time: 2015-04-15 11:08:13 #License: MIT ############################ import sys, time while True: print "pyserver runing %s"%time.ctime() sys.stdout.flush() time.sleep(10)
配置一个进程管理脚本 放在 /etc/supervisord.d 目录下
somejob.ini
[program:somejob] command=/usr/bin/python /home/lzz/temp/super/somejob.py directroy=/home/lzz/temp/super/ autostart=true autorestart=true startretries=3 user=lzz stdout_logfile=/home/lzz/temp/super/%(program_name)s.log stderr_logfile=/home/lzz/temp/super/%(program_name)s.log
操作
supervisord 启动
sudo /usr/local/bin/supervisord -c /etc/supervisord.conf lzz@ubuntu:supervisord.d$ ps -ef|grep super root 5709 1 0 11:30 ? 00:00:00 /usr/bin/python /usr/local/bin/supervisord -c /etc/supervisord.conf lzz 5710 5709 0 11:30 ? 00:00:00 /usr/bin/python /home/lzz/temp/super/somejob.py
看到我的job进程已经启动了,检查日志文件, 也已经正常
lzz@ubuntu:super$ tail somejob.log pyserver runing Wed Apr 15 11:31:47 2015 pyserver runing Wed Apr 15 11:31:57 2015 pyserver runing Wed Apr 15 11:32:07 2015
supervisord 重载
supervisorctl reread supervisorctl update
进程查看
lzz@ubuntu:super$ sudo supervisorctl somejob RUNNING pid 6021, uptime 0:00:13
进程重载 修改下job 程序,看看效果
sudo supervisorctl reload somejob
查看日志
pyserver runing Wed Apr 15 11:44:22 2015 hi pyserver runing Wed Apr 15 11:44:32 2015 hi pyserver runing Wed Apr 15 11:44:38 2015 pyserver runing Wed Apr 15 11:44:48 2015
进程关闭
sudo supervisorctl stop somejob #启动这里改为start
查看进程
lzz@ubuntu:super$ ps -ef|grep super root 6020 1 0 11:41 ? 00:00:00 /usr/bin/python /usr/local/bin/supervisord -c /etc/supervisord.conf
还有一部分是web界面的对进程的管理,还有开机启动等,这些可以自行查看文档 或者 google
参考:
スーパーサーバーSupervisorの導入手順メモHerd UNIX processes with Supervisor
相关文章推荐
- [supervisor] 使用小记(入门教程)
- MVC入门教程-视图中的Layout使用
- 【Github教程】史上最全github使用方法:github入门到精通
- 【Github教程】史上最全github使用方法:github入门到精通
- Mac使用Git简易入门教程
- 【Github教程】史上最全github使用方法:github入门到精通
- [教程]PX2开发板上的串口UART3使用入门
- Yii2.0教程入门篇 —— 使用表单
- Yii2.0教程入门篇 —— 使用数据库
- Yii2.0教程入门篇——使用Gii生成代码
- [教程]PX2开发板上的串口UART3使用入门
- Smarty入门教程二-----使用配置文件避免每次都配置路径
- 【Github教程】史上最全github使用方法:github入门到精通
- MyEclipse使用教程:MyEclipse的安全入门
- 【Github教程】史上最全github使用方法:github入门到精通
- CI(CodeIgniter)框架入门教程——第四课 辅助函数和类库的使用
- 【Hbase】hbase入门使用教程
- python入门基础教程03 Python开发环境基本使用
- 【Github教程】史上最全github使用方法:github入门到精通
- 【Github教程】史上最全github使用方法:github入门到精通