supervisor 3.0 配置和使用

为什么要使用supervisor 3.0?

使用场景:后台服务,进程管理。

使用php 开发web app时,可能某个脚本会一直需要运行在后台

比较典型的php 的 gearman worker

一般情况下并发量不大的情况下一个 worker足够处理任务列表,

当并发上去之后一个worker 就处理不了,可能需要多个进程去处理, 甚至需要多台服务器。

那我们就需要这个后台服务可以开启多个进程,进程出错,需要重启进程等等..

后台服务可以通过 pcntl_fork 来实现,实现多个进程也是使用相关的函数。。

后或者使用linux 的 nohup  cmd & 这样可以退出终端,脚本还在运行, 更高级一点就是

使用 shell 脚本来启动多个后台服务。

详细一点就不说了。。这时一会发现我们要搞定这些事,还挺复杂的,对unix 多进程编程要了解,

需要自己写,想想多累。。如果是学习编程基础和系统原理,还是建议大家多了解一下,

但是在本着为公司的产品性能,稳定,不要重复造轮子的原则,这时supervisor

就可以解决以上的问题, 使用supervisor 请仔细查看系统安装的版本

supervisor 2.x 的版本是不支持多进程的。。 3.0 以后是支持多进程,很多服务器的包不是最最新版本。

还可以设置启动进程数目。。 如果某个进程内存泄漏后者异常退出,它会自动平滑重启一个进程,方便

管理进程。

gearman 和 supervisor 3.0  就是绝配.

好吧开始吧。。

supervisor 3.x 需要 python 2.7

所以先更新python

1.将python 2.6 更新 python 2.7.X, 参考:http://blog.csdn.net/jcjc918/article/details/11022345

wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz

tar zxvf Python-2.7.8.tgz

./configure

make all

make install

make clean

make distclean

python -V

#/usr/local/bin/python2.7 -V

#mv /usr/bin/python /usr/bin/python2.6.6

#ln -s /usr/local/bin/python2.7 /usr/bin/python

python -V

vim /etc/yum

先安装setuptool

wget https://bootstrap.pypa.io/ez_setup.py -O - | python

echo_supervisord_conf  >/etc/supervisord.conf

在 cenos os 上 还有其他软件可能还需要
python 2.6 比如:yum , 所以需要指定yum 使用python 2.6版本

根据官方文档,在github 上面初始化脚本 :https://github.com/Supervisor/initscripts

选择一个脚本

先找到 supervisord 文件在哪?

whereis supervisord

修改脚本的DEAMON 变量即可,

把文件放到 /etc/init.d/目录下

设置可执行

chmod +x supervisord

设置开机启动

chkconfig --add supervisord

chkconfig supervisord on

supervisor 3.0 基本配置:

[program:5secs-top-background]

command=/usr/local/php-5.5.16/bin/php /data/wwwroot/service/TopWorker.php

autostart=true

autorestart=true

exitcodes=0,2

numprocs=2

process_name=%(program_name)s_%(process_num)s

[program:5secs-notice-client]

command=/usr/local/php-5.5.16/bin/php /data/wwwrootservice/NoticeListServer.php

autostart=true

autorestart=true

[program:5secs-notice-bgServer]

command                 = /usr/local/php-5.5.16/bin/php /data/wwwroot/service/GetuiBackgroudServer.php

autostart               = true

autorestart             = true

numprocs                = 5

numprocs_start          = 2

process_name            = %(program_name)s_%(process_num)s

最后,句子写的不是很流畅,谅解啊。

时间: 2024-08-29 22:49:49

supervisor 3.0 配置和使用的相关文章

Android jPBC 2.0.0配置与测试

我在前面的一片博客中,介绍了jPBC 2.0.0在PC平台上面的配置和测试.既然jPBC是Java平台上面实现的,那么jPBC能不能在Android这个以Java为主要语言的平台上运行呢?这样一来,各种在jPBC上撰写的有关双线性对的函数就都能够在移动终端上面用了.我个人的想法就是把最新的密码学算法应用到工程里面,而这确实是我想法的一个很好的跨越.因此,我在第一时间公开整个配置的过程以及我测试的方法,以供广大国内密码学研究者们进行尝试.整个配置过程实际上是非常简单的,这也要感谢jPBC库的编写者

Supervisor 安装与配置

Supervisor是一个进程监控程序. 满足的需求是:我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor. 先弄懂两个命令: supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令 supervisorctl:启动supervisor的命令行窗口 安装(Centos): [[email protected] etc]# yum in

supervisor安装和配置指南

supervisor:是用python写的一个进程管理工具,用来启动,重启,关闭进程.注意:Supervisor只能管理非daemon的进程,也就是说Supervisor不能管理守护进程.否则提示Exited too quickly (process log may have details)异常.好比Tomcat默认是以守护进程启动的,所以要改成了catalina.sh run,以前台进程的方式运行,关于守护进程和非daemon进程这里不做详细讲解,可自行百度.具体关于supervisor的相

cordova 3.0 配置

cordova 3.0 配置 总结下安装的一些问题: 1.必备安装 Java JDK,需配置系统path,否则在添加平台时会有问题. apache ant,打包工具,有windows版本,需配置系统path. android sdk,需配置系统path. 很重要的一点是,都需要配置好系统path值. 2.创建项目.并编译.官网有详细介绍,必备安装如果都有设置相应path一般不会有太多问题. 3.通过命令方式编译,其实很麻烦,因为启动ADT后,就无法再操作,所以DEBUG时得重新打开新的ADT.而

VC++6.0 配置CppUTest测试环境

最近看<软件项目成功之道>,书中无数次提及到“单元测试”对于项目成败的重要性,看到同事将CppUTest用于Linux动态库测试,于是在VC++6.0环境下搭建一个基于CppUTest的单元测试环境,用于测试工作中编写的C函数.下面就来介绍整个搭建过程,整个过程分为四步:前期准备——需要的库:环境配置——VC++6.0配置:实例演示——可复现的Demo:拓展——后续学习资料. 一.前期准备: CppUTest下载 官网:http://cpputest.github.io/ 历史版本:https

ADFS 2.0 配置简介 PartⅢ – 声明规则语言

上一篇我们最终把 ADFS 与应用之间的信任关系建立起来了,但是应用接收到的声明信息只有默认的两个,这次我们就来学学怎么配置声明. 一.声明存储配置 ADFS 目前默认支持三种方式的声明值存储,另外还有自定义存储,不过我没去研究 二.编辑预定义声明 三.编写自己的定制声明 如果你需要编写自定义的声明规则,那么你需要掌握一种描述声明的语法,很简单的,首先让我们看看上边配置的电子邮件声明生成的语句 c:[Type == "http://schemas.microsoft.com/ws/2008/06

windows下Qt5.1.0配置android环境搭建 good

1.首先下载好需要配置的软件: 1>Qt 5.1.0 for Android (Windows 32-bit, 716 MB)(Info)下载地址: http://qt-project.org/downloads 2>android SDK tools (只下载tools即可)下载地址:http://developer.android.com/sdk/index.html android SDK 离线安装包(已是最新sdk 2013/7/26)下载地址:http://www.wuleba.co

ADFS 2.0 配置简介 PartⅠ – 安装ADFS

    Active Directory Federation Service 也即联盟身份认证服务是微软的单点登录解决方案 (SSO),配置步骤相当多,中文资料也比较少,写在这里希望对后来人有所帮助,语言使用的是中文系统,实际上使用英文可能部署起来更容易些,因为感觉翻译不是很好. 一些术语 Active Directory (AD)    活动目录,以目录的形式抽象管理服务器上的资源.用户.计算机等等,Windows Server 自带. Domain        计算机域,是比工作组更优秀

Cisco Packet Tracer 6.0 配置终端服务器

Cisco Packet Tracer 6.0 配置终端服务器方法: 先看一下我的拓扑结构 Server配置: 1.配置IP地址,与Client端在同一个网段 (config)#interface f0/0 (config-if)#ip address 192.168.1.1 255.255.255.0 (config-if)#no shutdown 2.设置登陆的用户名及密码 (config)#username cisco privilege 15 password 0 class 3.配置l