首页 » Linux » CentOS » supervisor安装与使用

supervisor安装与使用

 

supervisor是一个进程控制系统,旨在使UNIX/Linux系统上的进程管理变得更加简单和高效。它可以监控和控制多个应用程序进程,并提供自动重启、日志记录等功能。通过supervisor,用户可以轻松地启动、停止、重启和监控进程。

supervisor的组成

supervisord:核心守护进程,负责启动和管理子进程,它能响应客户端发来的命令,自动重启崩溃或退出的进程,并记录子进程的标准输出(stdout)和标准错误(stderr)。

supervisorctl:命令行客户端,通过supervisorctl,用户可以查看当前管理的进程列表,并对这些子进程进行控制,例如启动、停止和查看状态。

Web Server:web操作页面,功能与supervisorctl相似,允许用户通过浏览器查看和管理进程状态。默认情况下,该Web界面监听在9091端口,便于远程访问和管理。

XML-RPC:XML-RPC 接口,使得用户能够通过该接口控制进程。这种接口支持多种编程语言,方便开发者集成supervisor的功能到其他应用中。

RockyLinux、AlmaLinux安装supervisor,理论适用于其它红帽兼容版系统

supervisor配置文件讲解

通常默认配置文件在/etc/supervisord.conf,我们可以为每个要管理的进程创建一个单独的配置文件。这里的;符号表示注释作用。

unix_http_server段

inet_http_server段

supervisord段

[rpcinterface:supervisor]段

[supervisorctl]段

[include]段

[program:theprogramname]程序段

启动服务

supervisor有两个命令行,supervisorctl和supervisord,supervisord是守护进程,supervisorctl是管理进程。

启动守护进程,执行运行以下命令即可

supervisord或systemctl start supervisord

停止守护进程

supervisorctl shutdown或systemctl stop supervisord

启动某个进程,例如字段内容program:php-fpm74],那么这里的php-fpm74就是进程名称

supervisorctl start php-fpm74

停止某个进程

supervisorctl stop php-fpm74

启动全部进程

supervisorctl start all

停止全部进程

supervisorctl stop all

载入新的配置

supervisorctl reload

更新最新的配置文件

supervisorctl update

示例:

如没有特殊需求supervisord.conf配置文件保持默认即可。

php-fpm配置

首先在/usr/local/php/etc/php-fpm.conf配置文件中添加daemonize = no,然后在/etc/supervisord.d/目录下添加php-fpm配置。

nginx配置

在nginx.conf中添加daemon off;关闭守护进程或直接在supervisord配置中添加-g 'daemon off;',然后在/etc/supervisord.d/目录下添加nginx配置。

当php-fpm、nginx意外退出时,可以自动被拉起,对于进程异常退出很有用。

supervisor是一个强大的进程管理工具,适用于需要长期运行的服务和应用程序。通过简单的配置和管理,您可以轻松地监控和维护您的应用程序进程。无论是Web服务器、后台任务,还是任何其他需要管理的进程,supervisor都是一个值得考虑的解决方案。

原文链接:supervisor安装与使用,转载请注明来源!

1