windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效, Windows Redis requirepass不生效
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)进行启动是不成功的。提示如下:
- D:\soft\Redis>redis-server.exe redis.windows.conf
- [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:
- ################################## SECURITY ###################################
- ……省略……
- # requirepass foobared
- requirepass 123456
但启动客户端进行Redis命令操作时,是不需要密码的,也没有提示无权限操作,这是一个严重的安全问题。
- D:\soft\Redis>redis-cli.exe
- 127.0.0.1:6379> get name
- "haha"
- 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地址绑定默认说明:
- ################################## NETWORK #####################################
- # By default, if no "bind" configuration directive is specified, Redis listens
- # for connections from all the network interfaces available on the server.
- # It is possible to listen to just one or multiple selected interfaces using
- # the "bind" configuration directive, followed by one or more IP addresses.
- #
- # Examples:
- #
- # bind 192.168.1.100 10.0.0.1
- # bind 127.0.0.1 ::1
- #
- # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
- # internet, binding to all the interfaces is dangerous and will expose the
- # instance to everybody on the internet. So by default we uncomment the
- # following bind directive, that will force Redis to listen only into
- # the IPv4 lookback interface address (this means Redis will be able to
- # accept connections only from clients running into the same computer it
- # is running).
- #
- # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
- # JUST COMMENT THE FOLLOWING LINE.
- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- bind 127.0.0.1
主要是意思是,如果设置了bind,只能通过绑定的地址访问Redis。
如果不设置bind,则所有地址都可以访问,如果在项目部署外网,所有人都可以访问到,所以这里也是个注意的地址,还是设置bind比较安全。
绑定多个ip地址:
- 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是访问不了的,出现以下的错误:
- redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
所以说,Redis由Windows自启动的,配置文件的设置都是无效的
五、解决方案:
1、禁用Redis的自启动,设置为手动
2、不要使用Redis安装版,使用压缩版
3、通过命令行CMD加载配置文件(redis.windows.conf)启动
- D:\soft\Redis>redis-server.exe redis.windows.conf
通过Cmd启动的界面都是不一样的,如下:
看到了正常启动的盒子。
4、再新打开一个cmd(不要关闭之前打的Cmd窗口),启动Redis客户端:
- D:\soft\Redis>redis-cli.exe
5、获取Redis中某个key的值,提示无权限。
- 127.0.0.1:6379> get name
- (error) NOAUTH Authentication required.
- 127.0.0.1:6379>
这样才是对的。
6、通过密码进入访问,使用 auth + 密码,如下:
- 127.0.0.1:6379> get name
- (error) NOAUTH Authentication required.
- 127.0.0.1:6379> auth 123456
- OK
- 127.0.0.1:6379> get name
- "haha"
- 127.0.0.1:6379>
如果Redis设置了密码,Spring整合Redis也是需要设置密码的,具体的一些配置:
7、Spring整合Redis的一些配置(JedisPool单机版):
Spring.xml文件配置的JedisPool池:
- <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
- <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
- <constructor-arg name="host" value="${redis.host}" />
- <constructor-arg name="port" value="${redis.port}" type="int" />
- <constructor-arg name="timeout" value="${redis.timeout}" type="int" />
- <constructor-arg name="password" value="#{'${redis.password}'!=''?'${redis.password}':null}" />
- <!-- <constructor-arg name="database" value="${redis.db.index}" type="int" /> -->
- </bean>
redis.properties配置文件
- #*****************jedis连接参数设置*********************#
- #redis服务器ip#
- redis.host=192.168.100.66
- #redis服务器端口号#
- redis.port=6379
- #超时时间:单位ms#
- redis.timeout=3000
- #授权密码,没有密码则不设置,但属性要保留#
- redis.password=123456
六、如果不是安装版的Redis,又想让Redis自启动的时候,可以向Windows添加自启动服务:
1、进入到Redis的安装目录
- D:\soft\Redis>
2、执行命令:
- redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis
3、完整示例:
- 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.):
- D:\soft\Redis>redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis
- [7176] 12 Jul 09:34:50.730 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "D:\soft\Redis" "D:\soft\Redis\"
- [7176] 12 Jul 09:34:50.730 # Redis successfully installed as a service.
4、安装服务后,默认不是马上启动的,但启动类型是自启动,如果想马上启动,请执行命令:
- redis-server --service-start
- 服务成功启动显示如下:
- [9876] 12 Jul 09:57:41.251 # Redis service successfully started.
或者重启电脑。
停止服务:
- redis-server --service-stop
5、删除Redis服务:
- redis-server --service-uninstall
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月11日
http://www.cnblogs.com/fanshuyao/
windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效, Windows Redis requirepass不生效的更多相关文章
- 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 ...
- redis绑定ip以及启动和查看启动状态
改绑定ip: 或许是对redis的了解还不够多的缘故,单单只是从安装和启动来讲,个人觉得好像是比mongodb和mysql要简单一些. 我的安装包是这个:http://download.csdn.ne ...
- 阿里云服务器redis启动绑定ip 开放端口仍无法访问问题
今天使用云服务器其redis 始终无法访问.redis.conf 这个配置文件也是改了又改.最后发现 执行redis启动命令时没有带上配置文件.仍然使用默认配置. src/redis-server ...
- Redis绑定多个ip地址
Redis绑定多个ip地址 学习了:https://www.zhihu.com/question/20346112/answer/17157379 注意,用空格进行分隔 bind 127.0.0.1 ...
- Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...
- Redis集群主从复制(一主两从)搭建配置教程【Windows环境】
如何学会在合适的场景使用合适的技术方案,这值得思考. 由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基 ...
- Windows 配置Reids集群 Redis Cluster
一 .所需软件:Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二 .安装配置redis redis下载地 ...
- Flask开发系列之Flask+redis实现IP代理池
Flask开发系列之Flask+redis实现IP代理池 代理池的要求 多站抓取,异步检测:多站抓取:指的是我们需要从各大免费的ip代理网站,把他们公开的一些免费代理抓取下来:一步检测指的是:把这些代 ...
- 2、Redis如何配置成一个windows服务并且设置一键安装卸载与启停
每天启动redis虽然只是一个命令行的事情,但是还是比较烦,所以…… 参考文档:Windows Service Documentation.docx 默认前提:Redis已安装并配置完成(不知道如何配 ...
随机推荐
- Spring Cloud Config 配置中心
请将远程配置文件的格式写对: 比如使用 *.yml 或者 *.properties yml: testconfig: testvalue properties: testconfig=testvalu ...
- Linux SWAP 交换分区大小与内存的关系
LinuxSWAP交换分区大小与内存的关系SWAP(交换分区)[Windows虚拟内存]我们机房中一台Linux服务器运行缓慢,系统服务出现间歇性停止响应,让我过去处理一下这一问题,登录到服务器之后, ...
- XXXXX
http://www.java-gaming.org/topics/laser-fx-opengl-libgdx/25402/view.html Libgdx游戏引擎之Dialog组件 http:// ...
- eclipse如何设置高亮代码的背景色,比如选中某个单词,高亮所有的
设置方法如下: 1.单击IDE顶部Window菜单下的Prefences,如图: 2.在打开对话框的左侧树上,找到Java节点下的Editor中的Mark Occurren,如图: 3.点击Mark ...
- e613. Modifying the Focus Traversal Order
JFrame frame = new JFrame(); JButton component1 = new JButton("1"); JButton component2 = n ...
- unity---各种资源对应的格式
我们打包AssetBundle后,Unity3D会根据文件的后缀名将文件转换为特定的类型对象存储起来,我们后期获取时需要根据这些类型取出打包的数据,这里记录下不同后缀文件打包后的类型. 文本格式 支持 ...
- Android Notification和权限机制探讨
近期为了在部门内做一次小型的技术分享.深入了解了一下Notification的实现原理.以及android的权限机制.在此做个记录.文章可能比較长,没耐心的话就直接看题纲吧. 先看一下以下两张图 图一 ...
- TI单节电量计基本介绍及常见问题解答
电量计(gas gauge /fuel gauge)是用来计量显示电池电量,通常包括mAh剩余容量(RM),满充容量(FCC),百分比容量(SOC),电压,电流,温度等,部分电量计还包含放空,充满时间 ...
- shell 下执行mysql 命令
From: http://blog.csdn.net/beginning1126/article/details/8590014 方案1 mysql -uuser -ppasswd -e 优点:语句简 ...
- dubbo学习过程、使用经验分享及实现原理简单介绍
一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...