windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效,

Windows Redis requirepass不生效

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年7月11日

http://www.cnblogs.com/fanshuyao/

一、Redis下载地址:

https://github.com/MicrosoftArchive/redis/releases

1、Redis-x64-3.2.100.msi 为安装版

2、Redis-x64-3.2.100.zip 为压缩包

二、由于我使用的是安装版,本次问题也是安装版的问题

1、安装后的目录

2、安装版的Redis安装后服务会自动启动。

三、问题所在:

由于安装版的Redis服务自启动,是直接通过redis-server.exe启动的,但是,启动时并没有加载Redis的配置文件(redis.windows.conf),导致redis 中bind配置和密码设置不生效。这导致我折腾了很久,后来才意识到这个问题。

四、Redis自启动导致的常见的问题有:

1、在CMD命令加载配置文件(redis.windows.conf)进行启动是不成功的。提示如下:

  1. D:\soft\Redis>redis-server.exe redis.windows.conf
  2. [13760] 11 Jul 16:39:51.067 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

因为Redis服务已经自启动,这里是不会再新启动的,故加载配置文件是失败的。也没有出现Redis启动的小盒子(下面有图片,慢慢往下看)

2、密码失效

虽然在配置文件(redis.windows.conf)设置了密码,密码为123456:

  1. ################################## SECURITY ###################################
  2. ……省略……
  3. # requirepass foobared
  4. requirepass 123456

但启动客户端进行Redis命令操作时,是不需要密码的,也没有提示无权限操作,这是一个严重的安全问题。

  1. D:\soft\Redis>redis-cli.exe
  2. 127.0.0.1:6379> get name
  3. "haha"
  4. 127.0.0.1:6379>

3、Redis访问IP绑定(bind)无效

Redis默认绑定的ip为127.0.0.1,但如果想内网的机器都能访问,则需要设置内网的ip地址,如192.168.100.66,然后redis.host则可以设置为192.168.100.66访问Redis。

Redis ip地址绑定默认说明:

  1. ################################## NETWORK #####################################
  2. # By default, if no "bind" configuration directive is specified, Redis listens
  3. # for connections from all the network interfaces available on the server.
  4. # It is possible to listen to just one or multiple selected interfaces using
  5. # the "bind" configuration directive, followed by one or more IP addresses.
  6. #
  7. # Examples:
  8. #
  9. # bind 192.168.1.100 10.0.0.1
  10. # bind 127.0.0.1 ::1
  11. #
  12. # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
  13. # internet, binding to all the interfaces is dangerous and will expose the
  14. # instance to everybody on the internet. So by default we uncomment the
  15. # following bind directive, that will force Redis to listen only into
  16. # the IPv4 lookback interface address (this means Redis will be able to
  17. # accept connections only from clients running into the same computer it
  18. # is running).
  19. #
  20. # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
  21. # JUST COMMENT THE FOLLOWING LINE.
  22. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23. bind 127.0.0.1

主要是意思是,如果设置了bind,只能通过绑定的地址访问Redis。

如果不设置bind,则所有地址都可以访问,如果在项目部署外网,所有人都可以访问到,所以这里也是个注意的地址,还是设置bind比较安全。

绑定多个ip地址:

  1. bind 127.0.0.1 192.168.100.66

127.0.0.1和192.168.100.66之间通过空格分隔,不是逗号。

但如果Redis是自启动的,没有加载配置文件(redis.windows.conf)启动,这里的设置也是无效的。

如果不绑定ip地址(192.168.100.66),直接设置redis.host=192.168.100.66是访问不了的,出现以下的错误:

  1. redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

所以说,Redis由Windows自启动的,配置文件的设置都是无效的

五、解决方案:

1、禁用Redis的自启动,设置为手动

2、不要使用Redis安装版,使用压缩版

3、通过命令行CMD加载配置文件(redis.windows.conf)启动

  1. D:\soft\Redis>redis-server.exe redis.windows.conf

通过Cmd启动的界面都是不一样的,如下:

看到了正常启动的盒子。

4、再新打开一个cmd(不要关闭之前打的Cmd窗口),启动Redis客户端:

  1. D:\soft\Redis>redis-cli.exe

5、获取Redis中某个key的值,提示无权限。

  1. 127.0.0.1:6379> get name
  2. (error) NOAUTH Authentication required.
  3. 127.0.0.1:6379>

这样才是对的。

6、通过密码进入访问,使用 auth + 密码,如下:

  1. 127.0.0.1:6379> get name
  2. (error) NOAUTH Authentication required.
  3. 127.0.0.1:6379> auth 123456
  4. OK
  5. 127.0.0.1:6379> get name
  6. "haha"
  7. 127.0.0.1:6379>

如果Redis设置了密码,Spring整合Redis也是需要设置密码的,具体的一些配置:

7、Spring整合Redis的一些配置(JedisPool单机版):

Spring.xml文件配置的JedisPool池:

  1. <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
  2. <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
  3. <constructor-arg name="host" value="${redis.host}" />
  4. <constructor-arg name="port" value="${redis.port}" type="int" />
  5. <constructor-arg name="timeout" value="${redis.timeout}" type="int" />
  6. <constructor-arg name="password" value="#{'${redis.password}'!=''?'${redis.password}':null}" />
  7. <!-- <constructor-arg name="database" value="${redis.db.index}" type="int" /> -->
  8. </bean>

redis.properties配置文件

  1. #*****************jedis连接参数设置*********************#
  2. #redis服务器ip#
  3. redis.host=192.168.100.66
  4. #redis服务器端口号#
  5. redis.port=6379
  6. #超时时间:单位ms#
  7. redis.timeout=3000
  8. #授权密码,没有密码则不设置,但属性要保留#
  9. redis.password=123456

六、如果不是安装版的Redis,又想让Redis自启动的时候,可以向Windows添加自启动服务:

1、进入到Redis的安装目录

  1. D:\soft\Redis>

2、执行命令:

  1. redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis

3、完整示例:

  1. D:\soft\Redis>redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis

--service-install redis.windows.conf  指定redis配置文件

--loglevel notice 指定日志级别

--service-name Redis 指定服务名称

运行结果如下( Redis successfully installed as a service.):

  1. D:\soft\Redis>redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis
  2. [7176] 12 Jul 09:34:50.730 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "D:\soft\Redis" "D:\soft\Redis\"
  3. [7176] 12 Jul 09:34:50.730 # Redis successfully installed as a service.

4、安装服务后,默认不是马上启动的,但启动类型是自启动,如果想马上启动,请执行命令:

  1. redis-server --service-start
  1. 服务成功启动显示如下:
  2. [9876] 12 Jul 09:57:41.251 # Redis service successfully started.

或者重启电脑。

停止服务:

  1. redis-server --service-stop

5、删除Redis服务:

  1. redis-server --service-uninstall

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年7月11日

http://www.cnblogs.com/fanshuyao/

windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效, Windows Redis requirepass不生效的更多相关文章

  1. windows下远程访问Redis,windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效,Windows Redis requirepass不生效,windows下远程访问redis的配置

    转载:http://fanshuyao.iteye.com/blog/2384074 一.Redis下载地址: https://github.com/MicrosoftArchive/redis/re ...

  2. redis绑定ip以及启动和查看启动状态

    改绑定ip: 或许是对redis的了解还不够多的缘故,单单只是从安装和启动来讲,个人觉得好像是比mongodb和mysql要简单一些. 我的安装包是这个:http://download.csdn.ne ...

  3. 阿里云服务器redis启动绑定ip 开放端口仍无法访问问题

    今天使用云服务器其redis 始终无法访问.redis.conf 这个配置文件也是改了又改.最后发现 执行redis启动命令时没有带上配置文件.仍然使用默认配置. src/redis-server  ...

  4. Redis绑定多个ip地址

    Redis绑定多个ip地址 学习了:https://www.zhihu.com/question/20346112/answer/17157379 注意,用空格进行分隔 bind 127.0.0.1 ...

  5. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  6. Redis集群主从复制(一主两从)搭建配置教程【Windows环境】

    如何学会在合适的场景使用合适的技术方案,这值得思考. 由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基 ...

  7. Windows 配置Reids集群 Redis Cluster

    一 .所需软件:Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二 .安装配置redis  redis下载地 ...

  8. Flask开发系列之Flask+redis实现IP代理池

    Flask开发系列之Flask+redis实现IP代理池 代理池的要求 多站抓取,异步检测:多站抓取:指的是我们需要从各大免费的ip代理网站,把他们公开的一些免费代理抓取下来:一步检测指的是:把这些代 ...

  9. 2、Redis如何配置成一个windows服务并且设置一键安装卸载与启停

    每天启动redis虽然只是一个命令行的事情,但是还是比较烦,所以…… 参考文档:Windows Service Documentation.docx 默认前提:Redis已安装并配置完成(不知道如何配 ...

随机推荐

  1. 解决studio的URI is not registered (Setting|Language&Frameworks|Schemas and DTDs)

    高高兴兴过完国庆来上班,studio一打开发现布局文件跟不进去,点进去就到了R文件里,layout的文件里 xmlns:android="http://schemas.android.com ...

  2. IDEA中maven项目导jar包太慢

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/PROGRAM_anywhere/article/details/53842058参考了网上的一些教程 ...

  3. 计算机网络——链路层协议

    一. 链路层的功能 可靠交付:在高差错的链路,如无线链路,可以进行可靠交付:对于其它的有线,可以是多余的: 流量控制:防止接收方的缓存区溢出,帧丢失: 差错检测与差错纠正:在硬件上实现了: 二.多路访 ...

  4. 3ds Max 中的导航控件SteeringWheels入门介绍

    介绍 软件环境:3d Max2015 SteeringWheels 3D导航控件也可以说是“追踪菜单”,通过它们可以使用户从单一的工具访问不同的2D和3D导航工具.SteeringWheels可分成多 ...

  5. TCP/IP,http,socket,长连接,短连接——小结(转)

    概要: 之前对这几个概念有点糊涂,查阅了些资料,稍微概括下他们的区别吧.如有错误,请拍~~~ 先看图: TCP/IP是什么? TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.    在 ...

  6. The required Server component failed to start so Tomcat is unable to start问题解决

    问题出现: Server Tomcat v8.5 Server at localhost failed to start.  或者The required Server component faile ...

  7. Cisco 3550配置DHCP中继代理

    实验环境: 1.配置两个VLAN 10 和  VLAN 20 VLAN  10  IP地址设置:192.168.10.1  255.255.255.0  (192.168.10.1是VLAN 10网关 ...

  8. Python 获取CentOS主机信息

    Python 获取主机IP地址 #!/usr/bin/env python #coding:utf-8 import os ip=os.popen("ifconfig eth0|grep ' ...

  9. glsl Dream

    <-vertex-> #version varying vec2 uv; void main(void) { uv = gl_MultiTexCoord0.st; gl_Position ...

  10. 删除mac系统win10启动选择项

    打开终端输入:diskutil list找到EFI这个分区,挂载EFI分区diskutil mount /dev/disk0s1 回到Finder 删除除apple之外的两个文件夹就可以了(删除win ...