Redis目前版本6.2.6,升级redis7解决CVE-2022-24735 CVE-2022-24736 两个漏洞
在同一台服务器中升级redis
redis安装包官网下载地址:
注意:redis 偶数为稳定版本,奇数为开发版本。
安装包上传到linux服务器后,解压缩:
redis上一版本安装位置是/usr/local/redis
redis7版本位置选择/usr/local/redis7
tar -zxvf redis-7.0.2.tar.gz
更名移动解压后的目录文档
mv redis-7.0.2 /usr/local/redis7
停止目前运行的redis服务
ps -ef | grep redis
在新版本的redis7目录下/usr/local/redis7
make
make PREFIX=/usr/local/redis7 install
PREFIX=
这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录
第一次运行时报错:make[1]: *** No rule to make target `install '. Stop
原因是我多加了一个空格
成功如下
启动redis:
在目录/usr/local/redis7下执行
./bin/redis-server ./redis.conf
这是后台启动的方式,或者修改redis.conf配置文件:
daemonize属性为yes,则跟后台进程方式启动一样。
./bin/redis-server ./redis.conf
redis7的daemonize属性默认为yes,且Redis7 对 RDB 文件使用了新版本格式(10),与旧版本不兼容
修改daemonize后不能再用./bin/redis-server& ./redis.conf方式,不然启动找不到conf文件!!!
在本次升级场景中,关闭redis旧服务,然后重新新的redis即可,缓存数据丢失没有影响。
redis设置密码
采用修改配置文件的方法:
vim redis.conf
requirepass 后设置你的密码
然后重启redis,登录查看
./bin/redis-cli
登录发现需要密码:
设置临时密码:
在命令行输入 :config get requirepass
如图所示就是未设置密码通过命令设置密码: config set requirepass XXX
设置密码后,验证密码需要 auth 123456
查看Redis是以哪个配置文件启动
使用命令:info Server
查看最大连接数: CONFIG GET maxclients
查看已连接数: info clients
设置超时时间
要修改Redis的配置文件,我们需要以下几个步骤:
打开redis.conf文件
找到timeout参数所在的行,修改timeout参数的值
timeout 300
表示将超时时间设置为300秒(5分钟)。这意味着如果Redis服务器在5分钟内没有执行任何命令或操作,连接将会超时关闭。你可以根据实际需求来调整超时时间的值。
保存文件并退出
重启redis
设置redis日志,默认没有保存日志
# 日志级别,Redis总共支持四个级别:
# debug、verbose、notice、warning,默认为notice
# 需要将指定的日志级别以下的日志内容打印出来
# 可选项: debug,verbose,notice,warning,默认为notice
loglevel notice
# 将日志写入指定的日志文件,默认为/dev/null,即不记录日志文件
logfile /var/log/redis/redis-server.log
参考文章:
Linux安装部署Redis(超级详细)_bai_shuang的博客-CSDN博客_redis安装部署linux