一、官网下载Redis安装包
二、将下载的安装包上传到服务器
三、安装gcc环境并升级到高版本
踩过的坑,如果不安装gcc环境或者gcc版本比较低的话下面安装Redis会报错。而且安装高版本的Redis是需要高版本的gcc的。而使用yum install gcc命令安装的gcc默认版本是4.8.5。
1.检查gcc版本,如果显示已经有gcc则直接进行第3步 升级高版本gcc
gcc -v
2. 若没有gcc先安装4.8.5低版本gcc,有则填过:
gcc -v
yum install gcc
3. 升级高版本gcc
-
2.1 安装centos-release-scl,命令:
sudo yum install centos-release-scl
-
2.2 安装devtoolset,注意,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推,命令:
sudo yum install devtoolset-8-gcc*
-
2.3 激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本,命令:
scl enable devtoolset-8 bash
- 注意: 这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本,要想随意切换或直接替换旧的gcc可参考 CentOS 7升级gcc版本。
大功告成,查看一下gcc版本,命令:
gcc -v
显示为 gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)
四、解压Redis安装包
tar -zxvf redis-6.0.10.tar.gz
五、进入解压后的文件夹,进行编译
cd redis-6.0.10
make
编译成功提示如下:
六、进入src目录安装Redis
cd src/
make install
成功提示如下:
七、修改redis.conf
1.解压目录下修改redis.conf 文件
vi redis.conf
- 将
daemonize no
修改为daemonize yes
,即yes时以守护模式启动,使 redis 能够后台启动。 - 把
bind 127.0.0.1
修改成bind 0.0.0.0
(目的:允许远程连接访问,否则用其他redis工具连接或代码连接 redis 服务器会显示连接超时) - 增加 redis 连接密码 redis.conf文件中增加一行
requirepass 123456
,123456 就是连接的密码 - 配置redis日志路径,如:logfile “/usr/local/redis/redis-6.0.10/redis.log”
redis.conf文件里的其他配置可参考 redis.conf文件详解
2.开放 redis 的6379端口(阿里云服务器需安全组规则里开放端口):
/sbin/iptables -I INPUT -p tcp --dport 6379-j ACCEPT
八、启动redis
进入src目录,执行命令(即使用redis.conf配置文件启动 redis):
./redis-server ../redis.conf
查看端口是否启动成功:
ps -aux | grep redis
九、测试:
src 目录下打开 redis 客户端:
redis-cli
输入密码123456才能连接:
auth 123456
键值对存入redis:
set aaa 111
通过键从redis获取值
get aaa
如图:
其他命令:
关闭redis:
./redis-cli shutdown
十、redis集群主从复制
主从复制:所有节点都可读取,所有节点的数据是一致的。只能从主节点写入数据,数据自动同步到其他节点。
假设你在三台服务器上安装了三个redis,希望主节点的 redis 数据变化后自动同步到其他两台服务器的从节点 redis 中该怎么配置呢?
两台从节点服务器上的 redis.conf 配置文件分别加上如下配置
(如果主节点没设置密码则 masterauth 不用加)
replicaof 主节点ip 主节点端口
masterauth 主节点redis密码
举例:
为了测试我将在服务器上用3个端口分别启动3个redis服务。
1.我在服务器上把 redis.conf 拷贝了两份,分别重命名为 redis6378.conf 和 redis6377.conf
2.redis6378.conf 和 redis6377.conf 中最后都加上主节点信息
replicaof 127.0.0.1 6379
masterauth 123456
3.redis6378.conf 中修改启动端口号和 pidfile 如下
port 6378
pidfile /var/run/redis_6378.pid
4.redis6377.conf 中修改启动端口号和 pidfile 如下
port 6377
pidfile /var/run/redis_6377.pid
5.src目录下分别启动3个端口的 redis 服务
./redis-server ../redis.conf &
./redis-server ../redis6378.conf &
./redis-server ../redis6379.conf &
6.验证
进入主节点
redis-cli -p 6379
输入密码
auth 123456
设置一个值
set az 789
进入从节点
redis-cli -p 6378
输入密码
auth 123456
获取az值
get az
获取的值为789说明同步成功
查看节点信息
info replication
十一、redis集群哨兵模式
哨兵模式:当主节点挂了后会自动选举子节点为主节点
redis安装目录下sentinel.conf 配置文件如下
#sentinel监听端口
port 26379
#127.0.0.1可换成你的ip地址
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 6000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
#如果redis设置了密码,这里也要设置
sentinel auth-user mymaster 123456
#sentinel的日志路径
logfile "/usr/local/redis/redis-6.0.10/sentinel.log"
protected-mode no
#后台运行
daemonize yes
1.如果redis是在不同服务器上,则修改上面配置文件的127.0.0.1 ip地址,然后把sentinel.conf 配置文件复制到其他服务器的redis安装目录下的sentinel.conf ;
如果是同一服务器上不同端口开启的多个redis服务,每个服务都需要修改上面的端口号,然后复制一份该文件重命名;
2.进入src目录下启动sentinel哨兵
(这里分别用两个配置文件启动了两个哨兵)
redis-sentinel ../sentinel.conf
redis-sentinel ../sentinel23678.conf
3.验证
进入26379端口所启动的哨兵(需要输入auth 密码)
redis-cli -p 26379
查看哨兵监听情况
info sentinel
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/80314.html