轉自:https://www.cnblogs.com/Sungeek/p/12057902.html
問題描述:
今天程序那邊說測試服里面有兩個項目,為了數據不沖突,想一台服務器搞兩個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>
作者:
Tse先生
郵箱:
vim10086@qq.com