Supervisor是一款用于管理进程的工具,能够启动、监控、自动重启因异常退出的进程。它适用于需要长期运行的服务,如 Nginx、MySQL、PHP-FPM 以及各种后台任务进程。
在宝塔面板(BT 面板)中,Supervisor 被集成为 “Supervisor 管理器” 插件,用户可以在可视化界面中便捷地添加、管理和监控进程,减少服务器维护成本,确保关键服务的稳定运行。
宝塔面板默认集成了supervisor管理器1.1版本,在软件商店中可以找到,点击安装即可。这篇文章就来说说宝塔supervisor教程之supervisor管理器如何安装和使用。用一个简单的实列来说明宝塔面板的Supervisor进程管理器如何使用!
Supervisor 官网:http://supervisord.org/
1、supervisor管理器的部署和安装
宝塔面板自带有进程守护管理器Supervisor程序,可以在软件列表里直接安装。软件是免费的。
宝塔面板的软件商店→系统工具,中可以看到,我们点击安装即可,如图:
2、Supervisor管理器界面
安装完成之后,这边可以看到有三大功能模块:守护进程管理、日志查看、配置文件。
点击添加守护进程
3、Nginx守护
之后会来到这个界面:
具体例子,比如:
- 名称:随自己喜欢的填写即可,那既然是nginx进程的守护,就起名为nginx
- 启动用户:root
- 运行目录:正常是启动程序的所在目录
- 启动文件:启动程序所在目录的启动文件,图示中sbin目录的nginx
点击确认之后:
4、文件设置
因为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