在Centos上安装Redis 5,如果是 Centos8,那么 yum 仓库中默认的 redis 版本就是 5,直接 yum install 即可。但如果是 Centos7,yum 仓库中默认的 redis 版本是 3 系列,比较老:
通过 yum list | grep redis 命令可查看 yum 仓库中的redis版本
Redis 5 是一个比较新也比较稳定的版本,在实际应用中比较常见。本文介绍如何在 Centos7 上安装和配置 Redis 5,使用的工具是 xshell 用于连接远端服务器。
***温馨提示:
Xshell 下的复制粘贴
复制: ctrl + insert(有些同学的 insert 需要配合 fn 来按)
粘贴: shift + insert
ctrl + c/ctrl +v 是不行的
xshell 成功连接后:
1、安装额外的软件源 scl源
yum install centos-release-scl-rh
此处因为我已经安装过scl源了,所以提示 Nothing to do。但如果没有安装过,则会进入安装程序。遇到 Is this ok [y/d/N] 的通通选 y。
2、通过scl源下载安装redis
yum install rh-redis5-redis
和上面一样,如果没有安装过则进入redis的下载安装程序,遇到 Is this ok [y/d/N] 的通通选 y。
3、创建符号链接
默认安装的目录为 /opt/rh/rh-redis5/root/usr/bin/ ,藏的太深不方便使用。我们通过符号链接把需要用到的关键内容设置到方便使用的目录中。(可以把符号链接理解为“快捷方式”)
在 Linux 中可以通过 ln -s 命令创建符号链接。
3.1 针对可执行程序设置符号链接
先切换路径:
cd /usr/bin
然后分别针对redis服务器、redis哨兵和redis客户端这三个可执行程序设置符号链接:
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli
设置完毕后可以通过命令 ll redis-* 来查看当前目录下的redis可执行文件:
3.2 针对配置文件设置符号链接
先切换路径,/etc/目录通常是Linux上存放配置文件的目录:
cd /etc/
然后运行下面这条命令:
ln -s /etc/opt/rh/rh-redis5/ ./redis
运行完后,可以通过 ll redis/ 命令来查看当前目录下的redis配置文件:
4、修改配置文件
直接在命令行中用 vim 命令修改配置文件太麻烦也容易出错,这里可以借助 xshell 中的工具 xftp 把文件传输到本地计算机,在本地修改后再传入远端服务器。
先切换目录:
cd redis/
然后打开 xftp 工具:
将redis.conf文件从云服务器拖到本地计算机,然后就能在自己电脑的桌面看到它。用记事本等文本编辑器打开redis.conf,进入如下更改:
4.1 设置 ip 地址
将bind修改为:
bind 0.0.0.0
修改后
4.2 关闭保护模式
protected-mode no
修改后
4.3 启动守护进程(后台进程)
daemonize yes
修改后
4.4 设置工作目录
先创建工作目录。
在Linux终端输入命令:
mkdir -p /var/lib/redis
再在配置文件中设置工作目录:
dir /var/lib/redis
daemonize yes
修改后
4.5 设置日志目录
先创建日志目录。Linux终端运行命令:
mkdir -p /var/log/redis/
再在配置文件中设置日志目录:
logfile /var/log/redis/redis-server.log
修改后
完成上述步骤后,配置文件修改这步就做完了。在本地保存redis.conf,回到 xftp 传输工具,将本地的redis.conf拖回云服务器,覆盖云服务器的原文件即可。
5、启动 redis
命令:
redis-server /etc/redis/redis.conf
执行后,就启动了redis服务。可以用 netstat -anp | grep redis 命令查看该进程信息:
然后输入 redis-cli ,客户端连接服务器。
CTRL+D退出客户端程序。
6、停止 redis 服务
命令:
kill 进程id
刚才通过 netstat -anp | grep redis 查看出redis服务的进程id(pid),通过 kill 杀死该进程即可。杀死后再运行 netstat -anp | grep redis ,不显示刚才的redis服务进程,即说明kill成功。