Linux部署Redis主从
Linux部署Redis主从
- 1.下载
- 2.安装
- 2.1编译 & 安装
- 3.修改配置文件
- 4.启动
1.下载
在Redis版本库:https://download.redis.io/releases/ 可根据自己的需求选择下载对应的版本,然后直接下载
2.安装
通过Xftp工具进行上传,选择指定的应用拖到右侧对应的目录即可(可以放在Linux的tmp目录下,之后再进行移动即可)
例如小编此次是放在:/usr/local/redis_ms目录下
tar -zxvf redis-4.0.14.tar.gz
解压完之后重命名文件夹为redis-4.0.14-7379、redis-4.0.14-7380
mv redis-4.0.14 redis-4.0.14-7379
mv redis-4.0.14 redis-4.0.14-7380
2.1编译 & 安装
由于redis是c语言编写的,所以我们需要先安装gcc,安装的命令如下:yum -y install gcc
安装成功后输入 : gcc -v 查看版本
然后进入到redis目录,进入redis-4.0.14-7379目录,然后输入:make,控制台会输出一编译的信息
编译成功后,输入:make install ,自此redis就安装成功了。
3.修改配置文件
主库:redis-4.0.14-7379/redis.conf 文件
#修改redis.conf参数
bind 0.0.0.0 #允许所有远程访问
protected-mode no # 保护模式不开启
port 7379 #端口号
daemonize yes #开启守护进程方式运行
logfile ./redis7379.log #设置日志输出文件
#设置在多少时间内刷新次数达到多少的时候会将数据同步到数据文件
save 900 1
save 300 10
save 60 10000
#replicaof <masterip> <masterport> 主机这里不设置 redis-4.0.14没有replicaof只有slaveof
#slaveof <masterip> <masterport> 主机这里不设置
appendonly yes #开启数据保存到磁盘(aof持久化)
masterauth redis@123 #开启密码保护,从机连接主机密码
requirepass redis@123 #设置连接密码
从库:redis-4.0.14-7380/redis.conf 文件
#修改redis.conf参数
bind 0.0.0.0 #允许所有远程访问
protected-mode no # 保护模式不开启
port 7380 #端口号
daemonize yes #开启守护进程方式运行
logfile ./redis7380.log #设置日志输出文件
#设置在多少时间内刷新次数达到多少的时候会将数据同步到数据文件
save 3600 1
save 300 100
save 60 10000
# replicaof 192.168.111.131 6379 #配置连接主机ip和端口 redis-4.0.14没有replicaof只有slaveof
slaveof 127.0.0.1 7379 #配置连接主机ip和端口
appendonly yes #开启数据保存到磁盘(aof持久化)
masterauth redis@123 #开启密码保护,从机连接主机密码
requirepass redis@123 #设置连接密码
4.启动
后台启动redis服务时,指定配置文件:
./redis-4.0.14-7379/src/redis-server /usr/local/redis_ms/redis-4.0.14-7379/redis.conf &
./redis-4.0.14-7380/src/redis-server /usr/local/redis_ms/redis-4.0.14-7380/redis.conf &
也可以使用以下启动脚本
restart-redis-ms.sh(重启)
#!/bin/bash# Redis 配置与二进制路径(根据你提供的信息)
REDIS_7379_BIN="/usr/local/redis_ms/redis-4.0.14-7379/src/redis-server"
REDIS_7380_BIN="/usr/local/redis_ms/redis-4.0.14-7380/src/redis-server"CONF_7379="/usr/local/redis_ms/redis-4.0.14-7379/redis.conf"
CONF_7380="/usr/local/redis_ms/redis-4.0.14-7380/redis.conf"# 停止指定端口上的 Redis 实例
stop_redis_on_port() {PORT=$1PID=$(ps -ef | grep "redis-server.*:$PORT" | grep -v grep | awk '{print $2}')if [ -n "$PID" ]; thenecho "Stopping redis on port $PORT (PID: $PID)..."kill -9 "$PID"echo "Redis on port $PORT stopped."elseecho "No redis process found on port $PORT."fi
}# 启动 Redis 实例
start_redis() {BIN=$1CONF=$2echo "Starting redis with config: $CONF"$BIN $CONFsleep 1
}# 主流程
echo "=== Restarting Redis instances ==="stop_redis_on_port 7379
start_redis "$REDIS_7379_BIN" "$CONF_7379"stop_redis_on_port 7380
start_redis "$REDIS_7380_BIN" "$CONF_7380"echo "=== Redis 7379 & 7380 restarted ==="
stop-redis-ms.sh(停止)
#!/bin/bash# 停止指定端口上的 Redis 实例
stop_redis_on_port() {PORT=$1PID=$(ps -ef | grep "redis-server.*:$PORT" | grep -v grep | awk '{print $2}')if [ -n "$PID" ]; thenecho "Stopping redis on port $PORT (PID: $PID)..."kill -9 "$PID"echo "Redis on port $PORT stopped."elseecho "No redis process found on port $PORT."fi
}# 停止 7379 和 7380
stop_redis_on_port 7379
stop_redis_on_port 7380