1. 使用 yum 安装
centos 7 已经在 2024 年 6 月 30 日官方停止维护(eol,end of life)了,所以更换为阿里云的源。
请在 /etc/yum.repos.d 目录下依次执行以下命令:
sudo tee /etc/yum.repos.d/centos-sclo-scl-rh.repo << 'eof' [centos-sclo-rh] name=centos-7 - sclo rh baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/sclo/x86_64/rh/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-sig-sclo eof
清理并重新建立缓存
# 写入完成后,再次刷新 yum 缓存 sudo yum clean all sudo yum makecache
缓存成功建立后,直接执行安装:
# 安装 redis sudo yum install rh-redis5-redis -y
结果如下所示:

2. 创建符号链接
默认安装的目录为 /opt/rh/rh-redis5/root/usr/bin/,藏的太深了,不方便使用。
我们通过符号链接,把需要用到的关键内容设置到方便使用的目录中。
2.1 针对可执行程序设置符号链接
命令如下所示:
# 进入到bin目录 cd /usr/bin # 链接 redis 服务端 ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server # 链接 redis 哨兵 ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel # 链接 redis 客户端 ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli
查看软链接是否创建成功
ls -l | grep redis
看到 -> 箭头指向源路径,就是成功了。
测试是否可用
./redis-cli --version
能显示 redis-cli 5.x.x 说明链接正常。
结果如下所示:

2.2 针对配置文件设置符号链接
命令如下所示:
# 进入系统配置目录 cd /etc/ # 创建软链接:把 rh-redis5 的配置目录,映射成 ./redis ln -s /etc/opt/rh/rh-redis5/ ./redis
它是给 redis 5 的配置目录创建软链接,和上一组命令配套使用,目的是统一 redis 的路径,方便管理。

3. 修改配置文件
进入到 /etc/redis 目录,然后使用 vim 打开 redis.conf 配置文件。
# 注意,如果你是普通用户,必须添加sudo sudo vim redis.conf
3.1 设置 ip 地址
把 bind 127.0.0.1 修改为 bind 0.0.0.0。这样就能够保证 redis 服务启动以后能被其他主机访问到。

3.2 关闭保护模式
把 protected-mode 修改为 no,同样,这里也是为了保证跨主机访问。

3.3 启动守护进程
把 daemonize 修改为 yes。
因为 linux 中的进程分为:前台进程和后台进程。前台进程会随着终端的关闭而随之被 kill 掉;后台进程不会随着终端关闭而关闭。
那么这样保证程序会以 “后台进程” 的方式运行,即守护进程。

3.4 设置工作目录
后续如果 redis 生成一些数据文件之类的东西,那么都会被存放到工作目录中。
先创建工作目录
sudo mkdir -p /var/lib/redis
再在 /etc/redis/redis.conf 配置文件中,设置刚刚创建好的工作目录
dir /var/lib/redis
结果如下所示:

3.5 设置日志目录
先创建日志目录
sudo mkdir -p /var/log/redis/
再在 /etc/redis/redis.conf 配置文件中,设置日志目录
logfile /var/log/redis/redis-server.log
结果如下所示:

3.6 修改新建目录的团队权限(关键避坑)
由于我们刚刚手动创建了 /var/lib/redis 和 /var/log/redis/ 目录,这两个目录默认的所有者是 root。而通过 scl 安装的 redis 默认会以 redis 用户身份去运行和读写,这会导致 redis 无法写入数据文件和日志。
因此,在启动 redis 之前,必须将这两个目录的所有权变更为 redis 用户。
命令如下所示:
# 修改工作目录的所有者和所属组 sudo chown -r redis:redis /var/lib/redis # 修改日志目录的所有者和所属组 sudo chown -r redis:redis /var/log/redis
查看权限是否修改成功:
ls -ld /var/lib/redis /var/log/redis
看到目录的所有者和组都变成 redis,即代表修改成功。
4. 启动 redis
命令如下所示:
sudo redis-server /etc/redis/redis.conf
查看 redis 是否成功启动:
sudo netstat -anp | grep redis
结果如下所示:

连接 redis 服务器
redis-cli
结果如下所示:

5. 停止 redis
先查看到 redis-server 的 pid
ps aux | grep redis
然后通过 kill 命令直接杀死 redis 进程
sudo kill 进程id
结果如下所示:

补充:更优雅的停止方式是使用 redis-cli shutdown 命令,它会让 redis 安全地保存数据并退出,避免数据丢失。
6. 查看工作目录和日志文件
命令如下:
# 进入到工作目录 cd /var/log/redis/
结果如下所示:
命令如下:
# 进入到日志目录 cd /var/log/redis/ # 查看日志 cat redis-server.log
结果如下所示:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论