版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://cloud.tencent.com/developer/article/1434728
下载,解压缩和编译Redis:
[root@linuxprobe ~]# cd /usr/local/src/
[root@linuxprobe src]# wget http://download.redis.io/releases/redis-3.2.5.tar.gz
[root@linuxprobe src]# tar xzf redis-3.2.5.tar.gz && cd redis-3.2.5
[root@linuxprobe src]# yum -y install tcl #防止编译时报错
[root@linuxprobe redis-3.2.5]# make
现在编译的二进制文件在src目录中可用,运行Redis:
[root@linuxprobe ~]# echo 511 > /proc/sys/net/core/somaxconn
[root@linuxprobe ~]# sysctl -w vm.overcommit_memory=1
vm.overcommit_memory = 1
[root@linuxprobe ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
#执行上面命令,解决Redis启动时候的Warning
使用EPEL源安装Redis root@vdevops ~# yum –enablerepo=epel install redis
1、设置登录密码验证
**vim redis.conf** #编辑redis.conf
# line 392: authorization password
requirepass password
2、禁用危险命令
# 409行,参考rename-command CONFIG "",添加下面即列:
rename-command CONFIG ""
rename-command keys ""
rename-command flushall ""
rename-command flushdb ""
3、定义redis.conf目录
# 99行,分析问题时,开启redis日志的loglevel
loglevel debug
# 106行,日志路径
logfile /var/log/redis/redis.log
#需要新建目录
mkdir /var/log/redis
# 设置redis日志切割
vim /etc/logrotate.d/redis
/var/log/redis/redis.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
4、验证配置结果
[root@linuxprobe redis-3.2.5]# ./src/redis-cli
127.0.0.1:6379> info
NOAUTH Authentication required. #没验证密码前,对redis进行操作
127.0.0.1:6379> auth password # 验证密码
OK
127.0.0.1:6379> info stats # 可以正常操作redis
# Stats
total_connections_received:4
...
127.0.0.1:6379> keys *
(error) ERR unknown command 'keys' #禁用keys命令
127.0.0.1:6379> flushall
(error) ERR unknown command 'flushall' #禁用flushall
127.0.0.1:6379> flsuhdb
(error) ERR unknown command 'flsuhdb' #禁用flushdb
总结:安装redis完成之后,强烈建议先配置好redis的相关配置,特别是禁用危险命令操作,因为笔者遇到过redis库被程序定时flushall,导致缓存的数据都没有啦,尴尬的是redis的缓存数据还没有备份。