问题描述:
今天程序那边说测试服里面有两个项目,为了数据不冲突,想一台服务器搞两个Redis实例,
然后自己这边查询了一下,确实可以这么整,只需要区分端口号和区分配置文件方面就行,
原理与nginx和tomcat等添加容器单实例多应用应该差不多,做个笔记记录一下。
1、复制新的配置文件,改变配置名称
2、修改配置文件里面的端口号、PID文件路径以及日志文件路径、 转储文件路径,确保两个或者多个redis服务不会冲突。
我这边搭建的Redis目录:
redis data directory : /data/redis/redis6379/data redis log directory : /data/redis/redis6379/logs redis install directory : /usr/local/redis redis config file directory : /etc/ redis startup script : /etc/init.d/redis
可以指定端口启动多个Redis进程。
解决方法:
1、切换到redis目录,新建个redis数据和日志目录
[root@tse1 redis]# mkdir -p /data/redis/redis6380/{data,logs} [root@tse1 redis6380]# pwd /data/redis/redis6380
2、切换到redis配置文件目录cp一份redis配置文件
#复制新的配置文件给第二个redis使用 [root@tse1 etc]# cp /etc/redis.conf redis6380.conf #配置新redis文件,避免两个redis冲突,在配置文件按照如下几个参数进行修改; [root@tse1 etc]# vim redis6380.conf 配置参数: #修改新的pid文件路径 pidfile /data/redis/redis6380/logs/redis6380.pid #指定新的端口号 port 6380 #指定新的日志文件路径 logfile "/data/redis/redis6380/logs/redis6380.log"
#指定新的数据文件路径
dir /data/redis/redis6380/data/
#指定新的转储文件路径 dbfilename dump6380.rdb
#配置文件修改完成:wq保存退出
3、修改启动脚本
[root@tse1 ~]# cp /etc/init.d/redis /etc/init.d/redis6380 [root@tse1 init.d]# vim redis6380
4、关于启动脚本可以参考我另一篇文章介绍,修改相应参数即可
Centos7下Redis设置开机自启动服务:
https://www.cnblogs.com/Sungeek/p/11691231.html
5、如果上面服务都已配置完成,就可以直接启动查看是否成功
[root@tse1 /]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 30162/redis-server tcp 0 0 192.168.15.163:6379 0.0.0.0:* LISTEN 30162/redis-server tcp 0 0 127.0.0.1:6380 0.0.0.0:* LISTEN 30171/redis-server tcp 0 0 192.168.15.163:6380 0.0.0.0:* LISTEN 30171/redis-server
6、客户端连接测试
[root@tse1 /]# /usr/local/redis/src/redis-cli -h 127.0.0.1 -p 6379 -a redis密码 127.0.0.1:6379> PING PONG 127.0.0.1:6379> [root@tse1 /]# /usr/local/redis/src/redis-cli -h 127.0.0.1 -p 6380 -a redis密码 127.0.0.1:6380> PING PONG 127.0.0.1:6380>