supervisor可以用来监控管理子进程的启动关闭和异常退出后的自动启动。比如说nginx的异常停止,mysql的异常停止等等,都可以用supervisor来监控然后实现自动启动。
宝塔面板默认集成了supervisor管理器1.1版本,在软件商店中可以找到,点击安装即可。这篇文章就来说说supervisor管理器如何安装和使用的教程。用一个简单的实列来说明宝塔面板的Supervisor进程管理器如何使用!
supervisor管理器的部署和安装
Supervisor 官网:http://supervisord.org/
1、安装supervisor管理器
宝塔面板的软件商店→系统工具,中可以看到,我们点击安装即可,如图:
2、界面介绍
安装好进程管理器插件后,进入界面,如图:
如上图所示,有三大功能模块,分别是:守护进程管理、日志查看、配置文件。
3、Nginx守护
这里用一个实列来讲解下如何添加守护进程,我们点击添加守护进程。界面如图:
具体用法演示,如图:
- 名称:既然是nginx进程的守护,那么就起名为nginx
- 启动用户:这里面的选项很多,根据需要来吧。
- 运行目录:正常是启动程序的所在目录
- 启动文件:启动程序所在目录的启动文件,图示中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