参考环境:
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系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。
参考链接:
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