Linux(Centos)之安装Redis及注意事项(转载)

Redis安装转载:http://www.cnblogs.com/hanyinglong/p/5036558.html#_label0

注意事项:
1.redis中密码设置问题:
来自:http://weipengfei.blog.51cto.com/1511707/1217872

redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。
   1、初始化Redis密码:
   在配置文件中有个参数: requirepass  这个就是配置redis访问密码的参数;
   比如 requirepass test123
   (Ps:需重启Redis才能生效)
   redis的查询速度是非常快的,外部用户一秒内可以尝试多达150K个密码;所以密码要尽量长(对于DBA 没有必要必须记住密码);
   2、不重启Redis设置密码:
   在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。
   修改密码之前通过权限验证(auth test123)
   redis 127.0.0.1:6379> auth test123
   redis 127.0.0.1:6379> config set requirepass test123

   查询密码:
   redis 127.0.0.1:6379> config get requirepass
   (error) ERR operation not permitted

   密码验证:
   redis 127.0.0.1:6379> auth test123
   OK

   再次查询:
   redis 127.0.0.1:6379> config get requirepass
   1) "requirepass"
   2) "test123"
   PS:如果配置文件中没添加密码 那么redis重启后,密码失效;
   3、登陆有密码的Redis:
   在登录的时候的时候输入密码:
   redis-cli -p 6379 -a test123
   先登陆后验证:
   redis-cli -p 6379
   redis 127.0.0.1:6379> auth test123
   OK
   AUTH命令跟其他redis命令一样,是没有加密的;阻止不了攻击者在网络上窃取你的密码;
   认证层的目标是提供多一层的保护。如果防火墙或者用来保护redis的系统防御外部攻击失败的话,外部用户如果没有通过密码认证还是无法访问redis的。

2.redis停止服务问题:
(1)脚本执行停止服务时,如果redis有密码验证,需修改脚本文件:

#在停止中命令中添加权限校验 $REDIS_CLI -p $REDISPORT -a $AUTH
 stop)   
                if [-f $PIDFILE ]   
                then   
                        echo "$PIDFILE exists, process is not running."  
                else  
                        PID=$(cat $PIDFILE)   
                        echo "Stopping..."  
                       $REDIS_CLI -p $REDISPORT -a $AUTH  SHUTDOWN    
                        sleep 2  
                       while [ -x $PIDFILE ]   
                       do  
                                echo "Waiting for Redis to shutdown..."  
                               sleep 1  
                        done   
                        echo "Redis stopped"  
                fi   
                ;;   

(2)在命令行使用redis_cli客户端停止redis_server:

[root@localhost bin]# src/redis-cli -a 123456  
127.0.0.1:6379> SHUTDOWN  
not connected> exit 

3.redis配置文件中的bind问题:
这里很多人会误以为绑定的ip应该是请求来源的ip。其实不然,这里应该绑定的是你redis服务器本身接受请求的ip。

关于bind

翻看网上的文章,此处多翻译为“指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中最好设置该项”。这种解释会搞糊涂初学者,甚至是错误的。该处的英文原文为

# If you want you can bind a single interface, if the bind option is not
# specified all the interfaces will listen for incoming connections.
# bind 127.0.0.1

该处说明bind的是interface,也就是说是网络接口。服务器可以有一个网络接口(通俗的说网卡),或者多个。打个比方说机器上有两个网卡,分别为192.168.205.5192.168.205.6,如果bind 192.168.205.5,那么只有该网卡地址接受外部请求,如果不绑定,则两个网卡口都接受请求。

OK,不知道讲清楚没有,在举一个例子。在我上面的实验过程中,我是将bind项注释掉了,实际上我还有一种解决方案。由于我redis服务器的地址是 192.168.1.4 。如果我不注释bind项,还有什么办法呢?我可以做如下配置:

# bind 192.168.1.4

这里很多人会误以为绑定的ip应该是请求来源的ip。其实不然,这里应该绑定的是你redis服务器本身接受请求的ip。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值