宝塔面板的Supervisor (进程管理利器) 使用说明 – 附Nginx守护教程

supervisor可以用来监控管理子进程的启动关闭和异常退出后的自动启动。比如说nginx的异常停止,mysql的异常停止等等,都可以用supervisor来监控然后实现自动启动。

宝塔面板默认集成了supervisor管理器1.1版本,在软件商店中可以找到,点击安装即可。这篇文章就来说说supervisor管理器如何安装和使用的教程。用一个简单的实列来说明宝塔面板的Supervisor进程管理器如何使用!

supervisor管理器的部署和安装

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

1、安装supervisor管理器

宝塔面板的软件商店→系统工具,中可以看到,我们点击安装即可,如图:

2、界面介绍

安装好进程管理器插件后,进入界面,如图:

如上图所示,有三大功能模块,分别是:守护进程管理、日志查看、配置文件。

3、Nginx守护

这里用一个实列来讲解下如何添加守护进程,我们点击添加守护进程。界面如图:

具体用法演示,如图:

  1. 名称:既然是nginx进程的守护,那么就起名为nginx
  2. 启动用户:这里面的选项很多,根据需要来吧。
  3. 运行目录:正常是启动程序的所在目录
  4. 启动文件:启动程序所在目录的启动文件,图示中sbin目录的nginx

提交之后,如图所示:

4、Nginx设置

因为supervisor 监控的进程必须以非daemon 方式运行. 但是nginx默认不能以deamon的方式运行!!!

所以Nginx要用supervisor 管理需要的话, 就必须在nginx.conf配置文件增加一行代码(添加的位置在events上面,属于main),代码如下:

daemon off;

(另请参阅http://nginx.org/en/docs/ngx_core_module.html#daemon中的nginx文档)。

设置的截图:

设置好之后,重启nginx服务!这样设置会后,nginx进程就守护成功。

5、进程守护的源文件

文件路径/www/server/panel/plugin/supervisor/profile

守护成功之后,会在profile目录生成一个nginx.ini 的文件,打开之后可以看到守护的命令,具体如下:

[program:nginx]
command=/www/server/nginx/sbin/nginx 
directory=/www/server/nginx/sbin/
autorestart=true
stdout_logfile=/www/server/panel/plugin/supervisor/log/nginx.out.log
redirect_stderr=true
user=root
priority=999

6、一些细节

启动文件就是启动这个文件时需要在终端输入的命令例如启动一个python文件:

则启动命令为:python Main.py

该插件是管理那些程序文件执行后会一直占用终端,无法输入其他命令的程序。如果程序文件执行结束速度很快,就会出现”增加守护进程失败!,文件执行结束太快!“的现象。

7、最后

本文通过一个简单的守护实列来说明宝塔面板集成的supervisor管理器的使用方法,supervisor功能非常强大,可以守护,监控各种你需要的程序文件。

官方出了这个插件,竟然不给出一份详细的使用说明,实在是不应该,下面的宝塔的那份参考资料,真的是,感人的很!

参考资料:

https://www.bt.cn/bbs/thread-34611-1-1.html

https://www.cnblogs.com/kevingrace/p/7525200.html