资讯专栏INFORMATION COLUMN

Supervisor 从入门到放弃

whjin / 2483人阅读

摘要:前言是一个客户端服务器系统,允许其用户在类操作系统上控制许多进程。这将打印一个示例的配置文件到您的终端。不会自动生成配置文件。具体可见官方文档后台提供的后台管理比较简单大致功能有重启启动停止进程,打印日志,清除日志等。

前言
Supervisor是一个客户端/服务器系统,允许其用户在类UNIX操作系统上控制许多进程。(官方解释)

简单点来讲,就是一个监控脚本运行的工具,不过他可以统一化管理,laravel的队列文档上也有相关使用方式方法,例如

定时脚本的启动、重启、关闭和日志监控

swoole的启动、重启、关闭和日志监控 (众所周知,swoole大部分的特性都只能在cli中运行)

redis的启动、重启、关闭和日志监控 (redis自身未提供类似phpmyadmin的后台可视化工具)

laravel中的队列、一些自动化的脚本、workman等等的脚本

一般都使用 &test.sh 让其来保证在后台运行,但在很多情况下,无法对脚本个人化的监控。这时你可能就需要 Supervisor 来帮助你。你大可把它当作你的unix系统的可视化管理后台。下面来让我们见证它的强大之处。

安装

Supervisor 有多种安装方式,我推荐其中最简单也是最容易安装的一种

apt-get -y install python-setuptools
easy_install supervisor

正如你所见,两条命令即完成安装

配置

Supervisor安装完成后,运行 echo_supervisord_conf。这将打印一个示例的Supervisor配置文件到您的终端。只要你能看到打印的配置文件内容。

Supervisor 不会自动生成配置文件。

请使用命令 echo_supervisord_conf > /etc/supervisord.conf 来生成配置文件。

部分配置文件信息表
名称 注释 栗子
inet_http_server[port] 内置管理后台 *:8888
inet_http_server[username] 管理后台用户名 admin
inet_http_server[password] 管理后台密码 admin
include[files] 设置进程配置文件格式 /etc/supervisor/supervisor.d/*.ini
运行

Supervisor 启动需加载配置文件

supervisord -c /etc/supervisor/supervisord.conf

停止命令是

supervisorctl shutdown

重新加载配置文件

supervisorctl reload

Supervisor 以 [program:[your_cli_name]] 以每段进程配置文件的开头,your_cli_name 则是你的进程名称,名称会显示在Supervisor后台管理工具和Supervisor cli命令输出上。我们以运行php-fpm为例

[program:php7]
command=php-fpm

哦呦,就是酱紫简单。没有过多的废话。或者运行一段shell。

[program:echo]
command=sh echo.sh

--------------------------------

echo.sh

your_name="my name zhangsan" 
echo $your_name

当然laravel队列也是依旧简单

[program:laravel-worker]
command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3

当然这里只是简单的演示,让你可以快速上手,配置脚本内不仅仅只有command命令。
具体可见官方文档 http://www.supervisord.org/co...

后台

Supervisor提供的后台管理比较简单

大致功能有 重启、启动、停止进程,打印日志,清除日志等。基本上就这么几个简单的功能,当然也没有宕机报警,日志报警什么的。不过强大的Supervisor为我们提供了接口

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30890.html

相关文章

  • 【Docker实战之入门】Dockerfile详细分析:构建docker镜像(1)基础镜像cento

    摘要:如果有服务器需要维护重启时,也会重启,此时端口会发生变化,仍然会随机拿一个没有使用的端口号来和号端口做端口映射。除非该删掉后,端口号会被分配给其他使用。 Dockerfile Docker是软件工业上的集装箱技术。 通过以下文件制作Docker镜像 [root@Optimus docker-training]# cd centos7/ [root@Optimus centos7]# l...

    learn_shifeng 评论0 收藏0
  • Flask+python3+supervisor+redis+docker+nginx技术架构web

    摘要:背景手里有一个项目,代码按照前端代码库后端代码库分别在上,分散带来的结果是,不容易持续集成,比如你可能需要很多的去保证一个项目的正常运作,但是这个项目也不是特别大,所以尝试将代码融合,于此同时将代码化,用于持续部署。 背景 手里有一个web项目,代码按照前端代码库、后端代码库分别在GitHub上,分散带来的结果是,不容易持续集成,比如你可能需要很多的job去保证一个项目的正常运作,但是...

    Berwin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<