supervisor应用初体验

最近在使用thinkphp5开发时使用了他们提供的队列服务,在文档结尾处看到了supervisor。所以自己布署了一把,把步骤共享出来。

1.安装

宿主机环境:(Centos7)

1475112637-9554-35360-3d52bb0de044d78d

宿主机环境

1475112637-7554-35360-e10c50020df81643

1475112637-2679-35360-3efd1976de43fa03


近期发现python官网好像被墙了,自动安装不成功。

以下提供源码包安装方法:

1、先安装meld3

meld3-1-0-2-tar 可以下载离线包或通过wget下载安装

2、安装supervisor-3.3.1

supervisor-3-3-1-tar

测试安装是否成功:

1475112637-7654-35360-0fa69d64c0541fd4

2.创建配置文件

创建supervisor配置文件目录/etc/supervisor/

1475112637-1600-35360-a35442b3b3322d2f

创建主配文件supervisord.conf

1475112637-2128-35360-57b2b291869440b7

创建项目配置文件目录

1475112638-4826-35360-bdf1528dab7d0811

3.调试

在/home/k1ic/supervisor_simple 目录下创建test.c

1475112639-7075-35360-02ba4cf694e9a6f0

test.c

编译为test #gcc -o test test.c

1475112638-3628-35360-cf151a9c4551a838

gcc -o test test.c

在/etc/supervisor/conf.d 目录下创建 test.ini

1475112639-6758-35360-941fcf9c291e0caf

test.ini

在主配文档中引入test.ini

1475112639-6745-35360-7a827afc1b0a1460

files = ./conf.d/*.ini

启动supervisor

1475112639-5142-35360-69e6e917e6739846

1475112639-7665-35360-b03469800dce2f08

查看supervisord.log发现program test已启动

1475112639-8720-35360-5078fcc82a70ca05

用 supervisorctl 查看已经被监控的program(注:直接用 #supervisorctl 会提示:http://localhost:9001 refused connection

1475112640-9820-35360-56c63f5d75495aa4

增加一例监控php脚本

创建skud.ini

1475112640-4767-35360-a3dbfb53f038b47e

skud.ini

1475112640-1884-35360-727cca0530107c8d

[program:skuld]

在/home/k1ic/supervisor_simple目录下创建skuld.php

1475112640-9043-35360-6b747b9cd5bf02e2

skuld.php

重启监控服务

1475112641-9957-35360-e97398ee02681218

reload

1475112641-5074-35360-c8322a7f66809846

pstree

================分割线================

这才是重点^^

0. supervisor 比较适合监控业务应用,且只能监控前台程序,php fork方式实现的daemon不能用它监控,否则supervisor> status 会提示:BACKOFF Exited too quickly (process log may have details)

1475112641-9104-35360-e05f53999df42586

BACKOFF Exited too quickly (process log may have details)

1475112641-2249-35360-dd9a1b44b39d19e5

cat supervisord.log

1.每次修改配置文件后需进入supervisorctl,执行reload, 改动部分才能生效

1475112641-9173-35360-8aaf0b1f7e40807b

reload

2.两个命令

supervisord : supervisor的服务器端部分,用于supervisor启动

supervisorctl:启动supervisor的命令行窗口,在该命令行中可执行start、stop、status、reload等操作。

3.web管理界面

将supervisord.conf中[inet_http_server]部分做相应配置,在supervisorctl中reload即可启动web管理界面

1475112641-3115-35360-55d5439d676f0474

[inet_http_server]

1475112642-6830-35360-a95a906d7d1fa4d4

http://127.0.0.1:9001/?message=Page%20refreshed%20at%20Tue%20Sep%2029%2016%3A20%3A40%202015

相关阅读:

python之supervisord启动脚本

参考文献:

Supervisor的安装与使用入门

http://fukun.org/archives/07102224.html

 

按需讲解之Supervisor

http://www.cnblogs.com/yjf512/archive/2012/03/05/2380496.html

 

supervisord entered FATAL state, too many start retries too quickly错误处理

http://beginman.cn/linux/2015/09/25/error-about-supervisord/

 

Supervisor监控PHP进程

http://www.phpddt.com/php/supervisor.html

 

关于进程监控及自动启动

http://www.vimer.cn/2013/07/%E5%85%B3%E4%BA%8E%E8%BF%9B%E7%A8%8B%E7%9B%91%E6%8E%A7%E5%8F%8A%E8%87%AA%E5%8A%A8%E5%90%AF%E5%8A%A8.html

 

Supervisor学习

http://beginman.cn/linux/2015/04/06/Supervisor/

 

通过进程模型进行扩展

http://12factor.net/zh_cn/concurrency

关于稚子

你们眼中的草根
此条目发表在应用工具软件, 操作系统相关分类目录,贴了标签。将固定链接加入收藏夹。

supervisor应用初体验》有一条回应

  1. Pingback引用通告: supervisor配置详解 | 应用工具软件 | 稚子的成长博客

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注