如何在Linux CentOS上安装和配置Redis
如何在Linux CentOS上安装和配置Redis
大家好,我是曾续缘。欢迎来到本教程!今天我将向您介绍在Linux CentOS上安装和配置Redis的详细步骤。Redis是一个高性能的键值存储系统,常用于缓存、消息队列和数据持久化等应用场景。让我们一起开始吧!
首先,您需要下载Redis压缩包,并将其解压到指定目录。然后,安装gcc编译器以便编译Redis源代码。接下来,我们会对环境变量进行配置,使得Redis命令可以在任何目录下执行。最后,我们会对Redis进行配置,并启动Redis服务器。
在整个过程中,我会提供详细的命令和截图,以帮助您更好地理解每个步骤。如果您遇到任何问题,请随时向我提问。让我们一起开始安装和配置Redis吧!
一、下载并安装Redis
- 下载Redis压缩包:
cd /usr/local
wget https://download.redis.io/releases/redis-6.0.5.tar.gz
- 解压Redis,并将解压出的文件夹重命名:
tar -zvxf redis-6.0.5.tar.gz -C /usr/local
mv redis-6.0.5 redis6
- 安装gcc:
yum install gcc-c++
- 编译Redis:
cd /usr/local/redis6
make
如果gcc版本过低,会出现以下错误
查看gcc版本是否在5.3以上,yum默认安装4.8.5
- 升级到gcc 9.3
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
# scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本,
# 如果要长期使用gcc 9.3的话可选👇
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
- 重新编译并安装Redis
cd /usr/local/redis6 make distclean make make PREFIX=/usr/local/redis6 install
这个PREFIX
关键字的作用是编译的时候用于指定程序存放的路径,方便后续的卸载,直接rm -rf /usr/local/redis6
即可删除redis。
二、配置环境变量
为了方便后续操作,我们可以配置环境变量,使得Redis命令可以在任何目录下执行。
- 编辑环境变量配置文件:
vim /etc/profile
- 按下
i
键进入编辑模式,在文件末尾添加以下内容:
export REDIS_HOME=/usr/local/redis6
export PATH=$PATH:$REDIS_HOME/src/
按下Esc
键退出编辑模式,并输入:wq
保存并退出vim编辑器。
- 保存并退出后,刷新配置信息:
source /etc/profile
- 最后,让我们验证redis是否成功安装。
redis-server -v
redis-cli -v
如果redis安装成功,你将会看到redis版本信息的输出。
因为redis 的server 与 cli 同时安装,所以二者查出的结果基本一致。
三、配置Redis
- 编辑配置文件
redis.conf
vim /usr/local/redis6/redis.conf
- 以守护进程模式启动Redis: 修改
redis.conf
中的daemonize no
为daemonize yes
当redis.conf
中选项daemonize
设置成yes
时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf
选项pidfile
设置的文件中,此时redis将一直运行,除非手动kill该进程。
- 如果需要远程连接,取消保护模式,将
protected-mode yes
设置为protected-mode no
,同时注释bind
- 找到配置文件里面
# requirepass footbared
,可以将footbared
直接修改为自己的密码
配置RDB
RDB 是一种通过创建数据集的时间点快照来实现持久化的机制。当触发快照时,Redis 会保存整个数据集到一个单独的文件中。可以通过以下几种方式触发 RDB 持久化:
- 手动触发:使用
SAVE
命令或者BGSAVE
命令。 - 自动触发:根据配置文件中的规则自动触发。
设置保存策略:
save
指令用于定义在多少秒内有多少个键变化时执行一次快照。- 例如,下面的配置表示在 900 秒内如果有 1 个 key 改变,或者在 300 秒内有 10 个 keys 改变,又或者在 60 秒内有 10000 个 keys 改变时,Redis 将执行一次快照。
save 900 1
save 300 10
save 60 10000
设置快照文件名:
dbfilename
选项指定 RDB 文件的名称。
dbfilename dump.rdb
设置工作目录:
dir
选项指定 RDB 文件的保存路径。
# Note that you must specify a directory here, not a file name.
dir ./
启用AOF
AOF 是一种日志形式的数据持久化方式,它记录了所有写入操作的命令,可以在启动时重新执行这些命令来恢复数据。
如果启用了 AOF,那么 RDB 文件主要用于灾难恢复。
appendonly
选项用来启用或禁用 AOF。appendfilename
选项指定 AOF 文件的名称。appendfsync
选项控制 AOF 文件的同步频率。可选值包括always
、everysec
和no
。always
表示每次写入都同步,everysec
表示每秒同步一次,no
则完全依赖操作系统的行为。auto-aof-rewrite-percentage
和auto-aof-rewrite-min-size
控制 AOF 文件何时进行重写。
按下Esc
键退出编辑模式,并输入:wq
保存并退出vim编辑器。
四、启动Redis服务器
- 指定配置文件,启动Redis服务器
redis-server redis.conf
- 查看Redis运行情况:
ps -ef|grep redis
- 启动Redis客户端
redis-cli
- 使用
auth password
命令进行认证。如果密码正确 将显示OK,表示认证成功
-
云服务器有防火墙时,需要在云服务器控制台安全组下配置放开 6379端口,以允许远程连接到 Redis数据库。
虚拟机有防火墙时,需要开放 Redis使用的端口(默认为 6379)
firewall-cmd --query-port=6379/tcp 查看端口状态, no表示未开启
firewall-cmd --add-port=6379/tcp --permanent # 永久开放端口
systemctl restart firewalld # 重启防火墙
- 关闭Redis服务器
ps -ef | grep redis
# 找到redis-server的进程号pid
kill -9 pid
五、修改密码
要修改Redis的登录密码,我们需要编辑Redis的配置文件。
编辑配置文件
vim /usr/local/redis6/redis.conf
打开配置文件并找到这一行:(查找/requirepass
)
requirepass <password>
修改为自己的密码:
requirepass my_secure_password
重启 Redis 服务
修改配置文件后,需要重启 Redis 服务以使更改生效。
如果使用的是 systemd 或类似的系统管理工具,可以使用以下命令重启 Redis:
sudo systemctl restart redis
如果 Redis 是作为一个普通的进程运行的,我们需要手动停止它再启动:
# 先找到 Redis 进程的 PID
ps -ef | grep redis-server
# 停止 Redis
kill <PID>
# 启动 Redis
redis-server /usr/local/redis6/redis.conf
测试连接
现在,当使用 redis-cli
连接到 Redis 服务器时,需要先输入密码:
redis-cli
127.0.0.1:6379> auth my_secure_password
OK
127.0.0.1:6379>
如果没有正确输入密码,会收到一个错误消息:
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
这样就完成了 Redis 密码的设置。
以上就是在Linux系统中进行Redis初始化配置的详细步骤。通过按照这些步骤操作,您可以成功完成Redis的初始化配置。希望这篇教程对您有所帮助!
参考链接:https://cengxuyuan.cn