Windows7下Redis修改绑定配置后远程连接报错求助
解决Windows7 Redis开放外部连接时的磁盘占用报错问题
Hey,我之前在Windows7上折腾Redis开放外部连接的时候也遇到过类似的磁盘锁定报错,给你梳理下一步步解决的方案:
一、先确认Redis运行的基础状态
首先得排查是不是Redis本身的进程或者文件被占用了:
- 打开任务管理器,找到
redis-server.exe进程,确认它是正常运行状态,没有挂掉或者假死 - 检查Redis的持久化文件(比如
dump.rdb、appendonly.aof)有没有被其他程序占用——比如你之前用记事本打开过没关掉,或者杀毒软件的实时扫描功能锁定了这些文件
二、修正Redis的关键配置(这步很容易漏)
你注释了bind配置只是第一步,还要配合其他配置才能开放外部连接:
- 关闭保护模式:在
redis.conf里找到protected-mode yes,改成protected-mode no——默认的保护模式会拒绝非本地的连接请求,哪怕你注释了bind也没用 - 开放Windows防火墙端口:在Windows7的防火墙设置里,添加一条入站规则,允许TCP协议的6379端口通过,不然外部请求会被防火墙直接拦截
- 重启Redis服务:修改配置后必须重启才能生效,别直接杀进程,用官方的服务命令更稳妥:
redis-server --service-stop # 等个2-3秒确认进程消失后再启动 redis-server --service-start
三、针对性解决磁盘锁定报错
你遇到的Error: The disk is in use or locked by another process,大概率是这两个原因:
- 持久化文件被第三方程序锁定:
- 关掉所有可能打开Redis数据库文件的程序(比如记事本、文件管理器的预览窗口)
- 暂时关闭杀毒软件的实时保护功能,有些杀毒软件会自动扫描并锁定这类数据文件
- Redis进程没有正常释放资源:
- 如果之前是直接右键结束Redis进程,可能会导致文件句柄没释放,按照上面的服务命令重新启停一次,确保资源完全释放
四、正确测试连接的方式
配置完成后,先在本地用远程连接命令测试:
redis-cli -h <你的机器IP> -p 6379 ping
如果本地能收到PONG,再让其他机器用同样的命令测试。如果还是不行,再检查下你的机器是不是在局域网内(如果要外网访问还需要端口映射),或者防火墙规则是不是真的生效了。
另外提醒下,Windows7上尽量用官方提供的Redis Windows版本,第三方编译的版本可能会有奇怪的兼容性问题哦。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

