总体规划
系统版本:CentOS7.6 X64
Redis版本: 6.0.9
IP地址: 192.168.1.201
集群模式: 暂定standlone,以后扩展成cluster
安装步骤
1.下载Redis官网6.0.9版本:
- 到官网先下载tar.gz包,下载URL:
- 可以在下载完成后,拷贝到你指定的目录下,如我下载的目录为:
/home/software
- 也可以用wget命令直接下载到指定目录:
wget -P /home/software https://download.redis.io/releases/redis-6.0.9.tar.gz
2.下载完成redis-6.0.9.tar.gz之后,进入下载目录并解压:
cd /home/software
tar -xzvf redis-6.0.9.tar.gz
3.在预编译之前,由于redis6.0.9需要较高的gcc版本要求,因此先升级CentOS7.6上的gcc版本,此redis6版本要求gcc版本在9以上,因此我先升级到gcc9.3:
# 查看gcc版本是否在9以上
gcc -v发现CentOS7.6默认版本是4.8.5
# 安装scl源
yum -y install centos-release-scl scl-utils-build
# 安装9版本的gcc、gcc-c++、gdb工具链
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils devtoolset-9-toolchain
# 临时覆盖系统原有的gcc引用
scl enable devtoolset-9 bash
# 安装执行完成后,再次查看gcc版本是否在9以上
gcc -v发现版本已经升级到9.3.1
4.预编译:
将解压的/home/software/redis-6.0.9/目录,转移到/usr/local/src下:
mv /home/software/redis-6.0.9/ /usr/local/src/
进入目录redis-6.0.9,开始make:
cd /usr/local/src/redis-6.0.9/
make
make完成后,如图:
5.预编译完成后,开始执行安装步骤:
安装到指定目录
mkdir -p /usr/local/redis
chmod 755 /usr/local/redis
make PREFIX=/usr/local/redis install
安装完成后,如图:
6.安装完成后,启动redis服务:
cd /usr/local/redis/bin
./redis-server
启动成功,可以看到经典的redis standlone启动成功页面,不过这里是前台启动,并非后台运行:
7.配置redis.conf:
- 将/usr/local/src/redis-6.0.9目录下的redis.conf拷贝到/usr/local/redis/bin目录下:
cp /usr/local/src/redis-6.0.9/redis.conf /usr/local/redis/bin
创建dumpfile目录:
mkdir -p /usr/local/redis/dumpfile
chmod 755 /usr/local/redis/dumpfile
修改redis.conf
vim redis.conf
# 修改项如下:
daemonize yes # 设置后台启动redis服务
logfile "/usr/local/redis/redis.log" # 日志路径
bind 0.0.0.0 # 指定redis只接受来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,此处设置为0.0.0.0,表示默认接受全部IP的请求
requirepass 123456 # 放开需要密码认证
port 6379 # 默认监听端口,用过的地球人都知道
databases 16 # 默认16个数据库,默认使用的数据库是DB 0,可以通过”SELECT “命令选择一个db
# 快照配置
# 注释掉“save”这一行配置项就可以让保存数据库功能失效
# 设置sedis进行数据库镜像的频率。
save 900 1 # 900秒(15分钟)内至少1个key值改变(则进行数据库保存--持久化)
save 300 10 # 300秒(5分钟)内至少10个key值改变(则进行数据库保存--持久化)
save 60 10000 # 60秒(1分钟)内至少10000个key值改变(则进行数据库保存--持久化)dbfilename dump.rdb # 镜像备份文件的文件名称
dir /usr/local/redis/dumpfile # 数据库镜像备份的文件存放位置,即数据目录,数据库的写入会在这个目录。rdb、aof文件也会写在这个目录
appendonly yes # 在/usr/local/redis/dumpfile目录生成appendonly.aof文件,将每一次写操作请求都追加到appendonly.aof 文件中
maxclients 10000 # 限制同时连接的客户端数量,这里是默认10000个连接
maxmemory <bytes> # 设置redis能够使用的最大内存。当内存满了,需要配合maxmemory-policy策略进行处理。注意,slave的输出缓冲区是不计算在maxmemory内的。所以为了防止主机内存使用完,建议设置的maxmemory需要更小一些
8.设置redis开机启动:
在系统服务目录中创建redis.service文件:
vim /etc/systemd/system/redis.service
# 添加启动内容
[Unit]
Description=redis-server
After=network.target
After=network-online.target
Wants=network-online.target[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf --supervised systemd
ExecStop=/usr/libexec/redis-shutdown
PrivateTmp=true[Install]
WantedBy=multi-user.target
保存退出。
重载redis系统服务,执行:
systemctl daemon-reload
加到开机自启动列表:
systemctl enable redis.service
9.通过系统命令启动redis服务
systemctl start redis.service
或者直接用下面命令启动:
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
启动成功后,ps一下,可以看到:
10.如果是本地测试,用另一台机器连接到此服务器,需要设置防火墙白名单策略,为了方便本地测试,这里选择直接关闭:
systemctl stop firewalld