导航菜单

Redis安装规范和安装过程说明

陆兴东 2026-04-08 16 浏览 Redis

一、前言

最近单位组织了全面的安全扫描检查,发现开发团队使用的Redis版本过低,需要进行版本升级。但在升级过程中发现,各开发小组安装Redis的方式五花八门,缺乏统一规范,导致无法按统一标准进行升级,给整体升级工作带来了较大的额外负担。为此,整理一套规范的Redis安装安装规范和安装过程说明,以减少后续维护中不必要的工作量。

二、安装步骤

在正式安装前,先规划一下安装用户和安全路径的规范。

2.1、安装用户规范

确定安装用户时,如无特殊要求,建议使用应用用户进行安装,避免直接使用 root 用户。主要考虑如下:

1、减少后续升级时因申请 root 权限带来的流程成本。

2、应用用户独立管理,操作更简便,权限边界更清晰。

安装用户总结如下:

1、权限最小化、降低安全风险。

2、简化流程、规避企业合规成本。

3、便于标准化管理。

2.2、安装路径规范

如果目录规划得不太友好,还请谅解。大家可以根据自己的实际情况进行规划管理,最终要求达到好管理、易管理的目的即可。

安装路径:/redis

单独挂载一个文件系统(/redis),万一以后空间不足,方便扩容,减少空间冗余的风险。

版本文件存放路径:/redis/version

存放redis版本文件,方便后续不同版本文件的使用,做好定期清理历史版本即可。

数据目录:/redis/redis-{version}/data/{port}

把数据单独存放到一个目录对应的redis端口下,也可以不创建对应的端口目录,可以根据项目的实际情况进行创建。

配置文件:/redis/redis-{version}/config

所有配置文件放到该目录下,方便以后统一管理。

日志文件:/redis/redis-{version}/logs

日志文件放在该目录下,方便以后查看管理。

PID目录:/redis/redis-{version}/run

PID文件放在该目录下,统一管理。

注:以上路径中的redis-{version}指的是实际安装的redis版本目录(如:redis-7.4.8),为何用该目录,下方安装配置时会有解释。

环境变量

统一配置好环境变量(REDIS_HOME)的配置,减少使用redis相关命令的路径依赖,建议配置在用户的家目录下,如:/home/tom。

2.3、安装redis

2.3.1、redis软件下载

本次安装使用的版本为7.4.8版本,可以根据工作实际要求选择对应的版本安装即可。redis下载地址如下:

https://download.redis.io/releases/

2.3.2、解压新版本redis

上传对应的版本文件到/redis/version下,并进行解压。

[tom@CentOS7 version]$ tar -xf redis-7.4.8.tar.gz 

2.3.3、停止老版本的redis

[tom@CentOS7 redis]$  cd ./redis-7.2.13/bin

停止redis的方法有很多,如果自己书写了redis的停止脚本,可以使用自己的脚本进行停止,也可以使用kill进程的方式进行停止,或使用redis-cli命令进行停止。

[tom@CentOS7 bin]$ redis-cli -h 127.0.0.1 -p 6379 shutdown

如果设置了密码,使用下方命令进行停止。

[tom@CentOS7 bin]$ redis-cli -h 127.0.0.1 -p 6379 -a 'your_password' shutdown

注:127.0.0.1可以根据redis实际绑定的IP填写即可。

停止完成之后,要再检查一下redis服务是否已完全停止掉。

[tom@CentOS7 bin]$ ps -ef|grep redis

或使用下方命令进行检查。

[tom@CentOS7 bin]$ netstat -tlnp|grep 6379

注:如果redis的端口进行了更改,换成自己实际的redis端口号即可。

2.3.4、安装新版本redis

进入到新版本redis解压后的目录。

[tom@CentOS7 version]$ cd redis-7.4.8

进行编译安装,此时需要指定安装目录。

[tom@CentOS7 redis-7.4.8]$ make PREFIX=/redis/redis-7.4.8 install

执行以上命令之后,静静等待即可。一般不会报出什么错误,如果报错,有可能是gcc编译器没有安装,或其它编译器没有安装造成,根据报错误信息安装对应的编译器即可。

安装完成之后,会在对应的安装目录下生成一个bin目录,该目录下存放的是redis的可执行命令。如下所示:

[tom@CentOS7 redis-7.4.8]$ ls -lrt bin
总用量 30112
-rwxr-xr-x 1 tom tom 16193664 3月  28 10:36 redis-server
-rwxr-xr-x 1 tom tom  6831072 3月  28 10:36 redis-benchmark
-rwxr-xr-x 1 tom tom  7804304 3月  28 10:36 redis-cli
lrwxrwxrwx 1 tom tom       12 3月  28 10:36 redis-check-rdb -> redis-server
lrwxrwxrwx 1 tom tom       12 3月  28 10:36 redis-check-aof -> redis-server
lrwxrwxrwx 1 tom tom       12 3月  28 10:36 redis-sentinel -> redis-server

2.3.5、创建对应的路径

[tom@CentOS7 redis]$ cd redis-7.4.8
[tom@CentOS7 redis-7.4.8]$ mkdir -pv ./data/6379 ./config ./logs ./run

2.3.6、复制配置文件

[tom@CentOS7 redis-7.4.8]$ cd /redis/redis-7.4.8/config
[tom@CentOS7 config]$ cp /redis/version/redis-7.4.8/redis.conf ./

2.3.7、配置对应的信息

复制完redis.conf配置文件后,可以跟据自己实际工作的情况,对访问密码、日志、数据、pid文件存放位置进行配置。

[tom@CentOS7 redis]$ cd ./redis-7.4.8/config
[tom@CentOS7 config]$ vi redis.conf

找到对应的配置项进行配置即可,本次只配置了访问密码、日志、数据、pid文件存放位置。

1、bind 127.0.0.1 -::1

这一行给注释掉,这里的bind指的是只有指定的网段才能远程访问这个 Redis,注释掉后,就没有这个限制了。

2、protected-mode no 

redis系统的安全模块,默认是开启状态,也就是yes,安全模式下,redis只允许本地连接。yes设置为no就是关闭安全模式,redis运许所有ip地址链接。

3、 requirepass

设置redis访问密码,在后面添加自己的密码即可。写法:requirepass your_password

4、logfile

设置日文件和日志存放位置。写法:logfile "/redis/redis-7.4.8/logs/redis-server.log"。

注:这里指定的日志存放位置,是提前规划好的,没有该目录,要先创建好。

5、loglevel

日志级别,默认是notice级别,可以根据自己的实际需求更改日志级别。

redis的日志级别分为:警告(Warning)、错误(Error)、调试(Debug)、冗长(verbose)‌、通知(notice)。

6、pidfile

设置pid文件和该文件存放位置。写法:pidfile /redis/redis-7.4.8/run/redis_6379.pid

注:这里指定的pid存放位置,是提前规划好的,没有该目录,要先创建好。

7、dbfilename

设置数据文件,默认文件名为:dump.rdb。

如果想更改其存放位置,需要找到“dir”这个参数,设置路径即可。写法:dir /redis/redis-7.4.8/data/6379

注:这里指定的dump.rdb存放位置,是提前规划好的,没有该目录,要先创建好。

2.3.8、创建redis软链接

[tom@CentOS7 redis]$ ln -sv redis-7.4.8 ./redis

这就是2.2小节中所说路径redis-{version}的含义,主要目的是为了方便以后版本升级使用,如果升级后的版本有问题,直接停止升级后的版本,并删除软链接。再创建旧版本软链接,创建好之后,启动旧版本即可。

也可以直接进入到redis-{version}目录下停止老版本,启动新版本。

以上创建软链接的主要目的,就是为了能快速回切到升级前的版本,避免因升级失败无法快速回切到老版本,造成业务长期中断的情况发生。

2.3.9、启动新版本redis

[tom@CentOS7 redis]$ cd ./redis-7.4.8/bin
[tom@CentOS7 bin]$ ./redis-server /redis/redis/config/redis.conf

如果没有报错,说明启动成功了,如果报错了,查看logs路径的redis-server.log日志文件排查错误即可。

注:redis-server.log文件是可以自定义的,查看时根据自己自定义的日志文件进行查看。

启动完成之后,可以使用ps -ef|grep redis检查进程,或使用netstat -tnlp|grep 6379检查端口是否正常工作。如下所示:

[root@CentOS7 ~]# ps -ef|grep redis
tom      11591  5446  1 11:30 pts/0    00:00:00 ./redis-server *:6379
[root@CentOS7 ~]# netstat -tnlp|grep 6379
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      11776/./redis-serve 

到此为止redis的安装规范和安装过程已正式完成。如果有理解不到位的,还请谅解。