使用supervisord监控php脚本状态配置

      Supervisor的服务器端称为supervisord,主要负责在启动自身时启动管理的子进程,响应客户端的命令,重启崩溃或退出的子进程,记录子进程stdout和stderr输出,生成和处理子进程生命周期中的事件。可以在一个配置文件中配置相关参数,包括Supervisord自身的状态,其管理的各个子进程的相关属性。配置文件一般位于/etc/supervisord.conf。

      Supervisor的客户端称为supervisorctl,它提供了一个类shell的接口(即命令行)来使用supervisord服务端提供的功能。通过supervisorctl,用户可以连接到supervisord服务器进程,获得服务器进程控制的子进程的状态,启动和停止子进程,获得正在运行的进程列表。客户端通过Unix域套接字或者TCP套接字与服务端进行通信,服务器端具有身份凭证认证机制,可以有效提升安全性。当客户端和服务器位于同一台机器上时,客户端与服务器共用同一个配置文件/etc/supervisord.conf,通过不同标签来区分两者的配置。

      Supervisor也提供了一个web页面来查看和管理进程状态,这个功能用得人比较少。

官网:http://www.supervisord.org

一、安装supervisord

$brew install supervisord

在mac下安装要比linux下安装方便的多。

二、配置

修改/usr/local/etc/supervisord.ini文件,取消以下几行注释

[inet_http_server] ; inet (TCP) server disabled by default
port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=123 ; (default is no password (open server))

这样就可以通过浏览器对进行管理了。

三、添加一个新应用

创建一个a.php文件,内容如下:

while(true){
echo 'a' . time() . "\r\n";
sleep(1);
}

然后在supervisord.ini文件中添加以下几行:

[program:php]
command=php /Users/sxf/web/a.php
autostart=true
autorestart=true
startsecs=1
startretries=3
redirect_stderr=true
stdout_logfile=/Users/sxf/web/supervisord.log
stderr_logfile=/Users/sxf/web/stderr.log

重启supervisord。

$brew services restart supervisord
打开浏览器http://127.0.0.9001,输入用户名和密码,可以看此进程,可以对每个进程进行停止,重启和刷新操作。

时间: 2024-10-23 14:35:54

使用supervisord监控php脚本状态配置的相关文章

zabbix监控nginx连接状态(转)

zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数).下面我们使用zabbix监控nginx. nginx的安装 如果想要查看nginx的服务状态,在对nginx进行源码安装的时候要选中–with-http_stub_status_module模块. 1.解压安装包: [root@server5 mnt]# tar xvf nginx-1.6.2.t

linux下Cacti监控MySQL数据库状态例子

1.监控脚本下载及配置 wget http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz tar zxvf better-cacti-templates-1.1.8.tar.gz cd better-cacti-templates-1.1.8 cp scripts/ss_get_mysql_stats.php /var/www/html/cacti/scripts/ 监控mysql

SQL Server自动化运维系列——监控性能指标脚本(Power Shell)

原文:SQL Server自动化运维系列--监控性能指标脚本(Power Shell) 需求描述 一般在生产环境中,有时候需要自动的检测指标值状态,如果发生异常,需要提前预警的,比如发邮件告知,本篇就介绍如果通过Power shell实现状态值监控 监控值范围 根据经验,作为DBA一般需要监控如下系统能行指标 cpu: \Processor(_Total)\% Processor Time \Processor(_Total)\% Privileged Time \SQLServer:SQL S

linux中zabbix监控php-fpm性能状态

不多说,首先你需要开启php-fpm的状态页,请参考凉白开前面写的文章<启用php-fpm状态详解>,然后更我一步一步来完成zabbix对php-fpm的监控. zabbix客户端配置 增加自定义key    代码如下 复制代码 # cat zabbix_agentd.conf | grep 'php-fpm' UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://127.0.0.1/status?xml" | g

zabbix监控redis数据库状态两种方法

方法一,zabbix监控redis 1.导入模板 同样,模板我已上传到 github项目 上 .直接下载,通过下面的步骤导入模板:点击configuration ----> templates ------> import -------> 导入下载的xml文件 . 2.客户端key配置 在被监控的主机上,打开/etc/zabbix/zabbix_agentd.conf 配置文件,在最后一行加入: UserParameter=redis_stats[*],redis-cli -h 127

请求-怎样通过jenkins实现监控一个网页状态,如果不是200就发送邮件通知给责任人?

问题描述 怎样通过jenkins实现监控一个网页状态,如果不是200就发送邮件通知给责任人? 我的基本需求是这样的: 我想通过jenkins,针对一个项目进行配置后,实时监控这个项目的状态,如果不是200,请求访问不到的情况下,就发送邮件告知. 跪求各位大神给予指导,小生在线等.感谢各位.如果我这里说的不是特别明白可以加我qq:1403534388 , 解决有赏.

使用jprofiler监控jruby脚本

jruby本质上也是启动一个jvm,然后去读Ruby脚本并解释执行(也可以编译),因此jprofiler理所当然也可以去监控jruby脚本的执行. 执行      jruby hello.rb 等价于执行: java -Xmx378m -Xss1024k  -Djruby.home=/usr/local/jruby                                    -Djruby.lib=/usr/local/jruby/lib Djruby.script=jruby org

Curl监控Nginx网站状态,如回应502信息即重启php-fpm

此脚本用Curl监控Nginx网站状态,如回应502信息即重启LNMP.    代码如下 复制代码 #!/bin/bash if curl  -I http://www.111cn.net|grep "HTTP/1.1 502" then service php-fpm restart fi添加脚本的执行权限  代码如下 复制代码 chmod +x 502.sh 定时任务,每5分钟执行一次  代码如下 复制代码 crontab -e */5 * * * * sh /path/-502.

编写Python脚本批量配置VPN的教程

  这篇文章主要介绍了编写Python脚本批量配置VPN的教程,搭建VPN在国内目前是一个非常热门的行为(嗯...),需要的朋友可以参考下 缘起 大家都知道,最近的网络不怎么和谐,速度慢不说,VPN 还总断,好在云梯 提供了挺多的服务器可以切换, 但云梯的服务器又挺多,Linux 的 Network Manager 又不支持批量添加配置,甚至配置文件都不能复制新建, 每个服务器的配置都得手动加,非常麻烦. 当然,也可以每次切换时打开配置,光改地址,但是这也非常不方便. 作为一个合格的开发人员,当