Beanstalkd+Supervisor构建消息队列

参考环境:
centos 6.5

1、Beanstalkd

Beanstalkd,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook Causes应用。后来开源,现在有PostRank大规模部署和使用,每天处理百万级任务。Beanstalkd是典型的类Memcached设计,协议和使用方式都是同样的风格,所以使用过memcached的用户会觉得Beanstalkd似曾相识。

参考链接:

Beanstalkd
Beanstalkd介绍
Beanstalkd安装

1、安装Beanstalkd

# yum install beanstalkd

2、开启Beanstalkd

》Usage: beanstalkd -l [ip address] -p [port #] 

# beanstalkd -l 127.0.0.1 -p 11301 &

如果安装包管理器(i.e. aptitude),你将能够管理Beanstalkd作为服务守护进程。

》 To start the service: 
# service beanstalkd start 

》 To stop the service: 
# service beanstalkd stop

》 To restart the service: 
# service beanstalkd restart 

》 To check the status: 
# service beanstalkd status

2、Supervisor

C/S架构的进程控制系统,可使用户在类UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。

参考链接:

Supervisor官网
参考1
参考2
参考3
参考4

1、安装Supervisor

1、安装python自动化工具
# yum install python-setuptools

2、安装supervisor
# easy_install supervisor

3、测试安装是否成功     
# echo_supervisord_conf

2、修改配置

1、创建配置文件
# mkdir -m 755 -p /etc/supervisor/
# echo_supervisord_conf > /etc/supervisor/supervisord.conf

2、编辑配置文件
在supervisord.conf最后增加如下:
[program:test]
command=/opt/soft/php/bin/php /home/m/test/app/cli.php ;被监控进程
;process_name=%(process_num)02d
;numprocs=5 ;启动几个进程
autostart=true ;随着supervisord的启动而启动
autorestart=true ;自动启动
startsecs=1 ;程序重启时候停留在runing状态的秒数
startretries=10 ;启动失败时的最多重试次数
stderr_logfile=/tmp/supervisor/test_err.log ;错误日志
stdout_logfile=/tmp/supervisor/test.log ;日志

3、启动supervisor

1、启动supervisor
# supervisord -c /etc/supervisor/supervisord.conf

# pstree -p | grep supervisord  查看supervisord进程

2、进入supervisor管理
# supervisorctl -c /etc/supervisor/supervisord.conf

status 查看状态
》test RUNNING pid 2554,uptime 0:00:10  

stop all停止
reload重启监控服务
注意:
(1)每次修改配置文件后**需进入supervisorctl,
执行reload**, 改动部分才能生效。
(2)两个命令
supervisord : 
supervisor的服务器端部分,用于supervisor启动
supervisorctl:
启动supervisor的命令行窗口,在该命令行中可执行start、stop、status、reload等操作。

错误:
Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

解决:
sudo unlink /tmp/supervisor.sock 
or
sudo unlink /var/run/supervisor.sock


作者:flycorn
链接:http://www.jianshu.com/p/2c40cbca616a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值