其实现在网络上supervisor的教程有很多,比较杂,我找了几个对我来说是有帮助的教程,再结合自己的理解做一些笔记,可以供自己以后翻看。

链接:https://www.cnblogs.com/Hai--D/p/5820718.html

http://blog.csdn.net/xyang81/article/details/51555473

有时候在linux上的程序还是需要统一管理,这时候supervidor就非常好用,在windowns上操作就非常好。

首先:

一、安装supervisor

1.wget https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3.3.1.tar.gz

2.tar zxf supervisor-3.3.1.tar.gz

3.cd supervisor-3.3.1

4.python setup.py install

如果报错可能:

  1. 提示setuptools-0.6c11.tar没有安装

    下载https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
    tar zxf setuptools-0.6c11.tar.gz
    cd setuptools-0.6c11/
    python setup.py build
    python setup.py install
  2. 提示下载错误,需meld3>0.6.5
    1. 下载 http://dl.fedoraproject.org/pub/epel/7/x86_64/p/python-meld3-0.6.10-1.el7.x86_64.rpm(或者我备份了一份)
    2. 安装 rpm -ivh python-meld3-0.6.10-1.el7.x86_64.rpm

如下提示,安装完成:

Using /usr/lib64/python2.7/site-packages

Finished processing dependencies for supervisor==3.3.1
 
 
二、配置supervisor
1.创建文件夹和配置文件
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
2.修改 /etc/supervisor/supervisord.conf 文件
先新建 mkdir /etc/supervisor/conf.d  以后程序的配置都在这个文件夹里面,以 .ini 结尾

修改files的路径为上图所示。这样配置后,会读取conf.d中的文件。

3.supervisorctl reload 使配置文件生效
4.在conf.d中创建****.ini文件,创建完毕后supervisorctl update 使之生效
 ini文件中,可以按照以下配置,以下是我某个程序的配置,你要怎么配置可以看这篇文件:http://blog.csdn.net/xyang81/article/details/51555473 其实也就是supervisord.conf配置中的解读,网上还有更加详细的说明,问度娘。

[program:hsparser2]
command=python main_2.py
process_name=hsparser2-%(process_num)s
numprocs=10
directory=/home/hsparser2/
autostart=true
autorestart=unexpected
redirect_stderr=true

 保存退出即可。
5.配置有界面的supervisor来监控程序的运行状态
 

保存退出即可,然后在你的windows上,输入你服务器的 ip:9001 就可以看到如下图:

这样你就配置好你的程序在supervisor上了,大功告成。

 
三、问题注意:
1.如果出现以下问题
 

可能是由于supervisord进程停止了,建议重新运行

运行此命令:supervisord -c /etc/supervisor/supervisord.conf


2.Unlinking stale socket /tmp/supervisor.sock

应该临时文件link不到socket,此文件要删除 使用 unlink 命令

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock      ; use a unix:// URL  for a unix socket
;serverurl=http://127.0.0.1:9001         ; use an http:// url to specify an inet socket
;username=chris                     ; 如果设置应该与http_username相同
;password=123                      ; 如果设置应该与http_password相同
;prompt=mysupervisor                 ; 命令行提示符,默认"supervisor"
;history_file=~/.sc_history             ; 命令行历史纪录

运行此命令:unlink /tmp/supervisor.sock

参考链接:

http://www.iitshare.com/supervisord-manage-process.html

https://www.cnblogs.com/elie/p/6341680.html?utm_source=itdadao&utm_medium=referral

supervisor安装(sentos7)的更多相关文章

  1. supervisor安装和配置

    直接命令 easy_install supervisor 如果报错先安装 yum install python-setuptools,再上面一条命令: 安装成功后显示finished,我们再次进行py ...

  2. Supervisor 安装及配置管理uwsgi进程

    Supervisor介绍 Supervisor 允许其用户在UNIX类操作系统上控制多个进程. 块如下: 方便 需要为每个进程实例编写rc.d脚本通常是不方便的. rc.d脚本是进程初始化/自动启动/ ...

  3. mac下supervisor安装及简单配置

    supervisor是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(守护进程).可以用他来管理自己的“服务程序”. 安装 首先安装Python,Mac系统好像自带. 执 ...

  4. supervisor安装、使用详解

    supervisor是用python写的一个进程管理工具,用来启动,重启,关闭进程. 1 supervisor的安装 pip install supervisor 2 supervisor的配置文件( ...

  5. supervisor安装部署和使用实例

    Supervisord是用Python实现的一款非常实用的进程管理工具,类似于monit,monit和supervisord的一个比较大的差异是supervisord管理的进程必须由superviso ...

  6. Supervisor安装与配置(Linux/Unix进程管理工具)

    原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...

  7. Linux系统下 Supervisor 安装搭建(yum安装)

    安装Supervisor # 安装supervisor yum install supervisor # 打开supervisor的配置文件 vi /etc/supervisord.conf 将sup ...

  8. Linux系统下 Supervisor 安装搭建

    在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常.报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务. 所以,就需要一个工具,时刻监控 web 应用 ...

  9. supervisor安装及其配置

    一.supervisor概述 supervisor是一个c/s系统,被用来在类Unix系统中监控进程状态.supervisor使用python开发. 服务端进程为supervisord,主要负责启动自 ...

  10. Supervisor安装与配置

    Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...

随机推荐

  1. Git之用户凭证

    由于 Git 和 Github 交互操作可能会很频繁,为了防止每次操作重复输入用户名和密码,Git 提供了两种解决方法:

  2. IEnumerable 与 IQueryable

    无论是在ado.net EF或者是在其他的Linq使用中,我们经常会碰到两个重要的静态类Enumerable.Queryable,他们在System.Linq命名空间下.那么这两个类是如何定义的,又是 ...

  3. Java入门系列(二)Java常用关键字

    53个关键字 在JAVA中目前一共有53个关键字:其中由51+2个保留字=53个关键字 访问控制 private protected public default              类.方法和 ...

  4. ArraySizeHelper解析

    [ArraySizeHelper解析] 以下代码用于获取一个数组的元素个数,例如 int table[100],以下宏返回100. template <typename T, size_t N& ...

  5. 转载http中302与301的区别

    http://blog.csdn.net/qmhball/article/details/7838989 一.官方说法301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于 ...

  6. django错误笔记——URL

    django提交表单提示"RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and ...

  7. 【leetcode 简单】 第九十九题 字符串相加

    给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包 ...

  8. sql server中的日期函数

    DATEADD   在向指定日期加上一段时间的基础上,返回新的 datetime 值. 语法           DATEADD ( datepart , number, date ) 参数 (1) ...

  9. 状压dp+floyed(C - Hie with the Pie POJ - 3311 )

    题目链接:https://cn.vjudge.net/contest/276236#problem/C 题目大意: 给你一个有n+1(1<=n<=10)个点的有向完全图,用矩阵的形式给出任 ...

  10. aarch64_n2

    nodejs-is-dotfile-1.0.2-2.fc26.noarch.rpm 2017-02-12 00:27 9.5K fedora Mirroring Project nodejs-is-e ...