服务器使用 WordPress备份脚本 类似方案进行的备份,今天收到某台服务器磁盘容量报警,经排查是某个插件产生大量无用redis数据,导致redis数据库大小急剧膨胀造成。由于配置错误,无效数据使用的redis数据库和另一个应用相同,于是研究了 redis批量删除key 方法。问题解决后,计划让应用使用单独redis实例,因此需要运行多个redis实例。
本文介绍CentOS系统运行多个redis实例的配置方法。
CentOS系统运行多个redis实例
本文方法在CentOS 7/8系统上测试通过,理论上也适用于使用systemd管理的Ubuntu 16/18等系统。
运行多个redis实例的配置步骤如下:
1. 创建redis运行时文件夹。redis默认实例的数据dump文件夹是 /var/lib/redis
,我们创建一个新的文件夹给新实例使用:
mkdir /var/lib/redis2 chown redis:redis /var/lib/redis2
2. 创建新实例的运行配置。首先我们从默认实例复制一份配置文件:
cp /etc/redis.conf /etc/redis2.conf chown redis /etc/redis2.conf
然后编辑该配置文件,修改如下内容:
logfile "/var/log/redis/redis2.log" dir "/var/lib/redis2" pidfile "/var/run/redis/redis2.pid" port 6380
其中端口号6380可以改成其他的。编辑完后保存。
3. 创建redis新实例的systemd管理文件。首先复制原来的配置:
cp /usr/lib/systemd/system/redis.service /usr/lib/systemd/system/redis2.service
然后做如下修改:
ExecStart=/usr/bin/redis-server /etc/redis2.conf --supervised systemd ExecStop=/usr/libexec/redis-shutdown redis2 Type=notify User=redis Group=redis RuntimeDirectory=redis2
4. 启动redis新实例:
systemctl daemon-reload systemctl enable redis2 systemctl start redis2
5. 使用ss
命令查看端口是否被监听:
ss -ntlp | grep redis
输出结果应该是有两个redis实例在运行。
参考
1. How To Install Redis and Configure Multiple Redis Server on Centos 7
发表回复