正文

宝塔Linux面板Redis进程守护(使用Supervisor)

最近网站老是被打,每次都是给我redis跑死。今天研究了下可以用Supervisor对redis进行进程守护。当Supervisor检测到redis停止后会立即进行启动。

整体步骤非常简单,操作我都做了截图,大家看一遍就会了。

1.安装Supervisor

宝塔面板自带有Supervisor程序,可以在软件列表里直接安装。软件是免费的。

宝塔Linux面板Redis进程守护(使用Supervisor)

安装后先放这,我们设置一下redis。

2.修改redis配置文件

redis配置文件默认有个自带守护,我们需要将其关闭。

打开配置文件:/www/server/redis/redis.conf

或是在宝塔redis管理界面点击配置文件。

搜索“daemonize”

大概在138行,将”daemonize yes“改为”daemonize no“

宝塔Linux面板Redis进程守护(使用Supervisor)

搜索“supervisor”

大概在149行,同样设置为no,宝塔面板redis配置文件默认这里是no。

宝塔Linux面板Redis进程守护(使用Supervisor)

然后停止redis进程。直接在管理界面停止。

必须停止,否则守护进程无法启动报FATAL错误。

宝塔Linux面板Redis进程守护(使用Supervisor)

3.创建Supervisor守护进程

打开宝塔面板的Supervisor管理器。添加守护进程

宝塔Linux面板Redis进程守护(使用Supervisor)

名称:随便写
启动用户:root
运行目录:/www/server/redis/(宝塔的redis默认安装在这个目录里)
启动命令:/etc/init.d/redis start
进程数量:1

然后直接确定。

4.其他说明

此时就已经创建完毕redis的进程守护。

前面我们手动停止了redis,现在应该自动启动了。你也可以再次手动关闭下redis看看,应该会发现会再次启动。

在Supervisor日志里我们可以看到redis的启动记录。

宝塔Linux面板Redis进程守护(使用Supervisor)

除了redis之外,Supervisor也可以对MySQL、nginx、php等程序进行守护。

进程守护大多数用于程序异常停止的启动使用。

如果你是配置资源不足导致的停止,建议考虑其他方式解决问题。比如程序优化、设置缓存、增加硬件配置等方式。

nginx:/etc/init.d/nginx start

apache:/etc/init.d/httpd start

MySQL:/etc/init.d/mysqld start

FTP:/etc/init.d/pure-ftpd start

PHP:/etc/init.d/php-fpm-{52|53|54|55|56|70|71|72|73|74} start

Memcached:/etc/init.d/memcached start