Redis 报错:由于目标计算机积极拒绝,无法连接

起因: 连接 Redis 的时候报错:由于目标计算机积极拒绝,无法连接

系统: Windows

解决方法:
按照下列步骤操作

  1. 进入 Redis 安装目录。
  2. 打开 CMD
  3. 运行 redis-server.exe redis.windows.conf
    在这里插入图片描述

到这里就好了。

测试方法:

  1. redis 安装目录,重新打开一个 CMD
  2. 运行 redis-cli.exe -h 127.0.0.1 -p 6379
  3. 输入 set a 123 设置值
  4. 输入 get a 看是否获取到值

在这里插入图片描述

下面的可以不看
如果是使用 phpstudy 的话,按照下列步骤。

  1. 安装 redis 客户端
    在这里插入图片描述

  2. 连接 redis

    redis客户端 -> 管理 -> Redis servers 右键 -> 添加服务 -> 输入信息(信息在 redis 管理里面可以看到)

在这里插入图片描述

  1. 进入 phpstudy 首页, 启动 redis 就可以了
    在这里插入图片描述
### Redis 连接拒绝的原因分析 当遇到 `connection refused` 错误时,通常意味着客户端尝试连接到指定地址和端口的服务器失败。对于 Redis 来说,在配置文件中存在多个可能导致此现象的因素。 如果本地绑定命令(`bind`)在 `redis.conf` 文件里处于注释状态,则默认情况下 Redis 将监听所有可用网络接口上的请求[^1]。然而,这并不一定能够解释为何远程机器无法建立连接而本机可以正常工作的情况。 一种常见原因是防火墙设置阻止了外部访问6379端口。确保操作系统级别的防火墙允许TCP流量通过该端口是非常重要的。另外还需确认云服务提供商的安全组规则也已适当开放相应端口给目标IP范围。 另一个可能性在于保护模式(protected mode)下运行着Redis实例。自版本3.2起引入了一项安全特性——即当检测不到任何明确设定过的认证密码以及仅绑定了私有网段或localhost这类较为安全环境内的地址时会启用它;此时未经身份验证就试图从其他地方发起链接会被断开并记录日志提示“Protected mode is enabled”。因此建议检查启动参数中有无禁用此项功能或是正确设置了requirepass指令来规避潜在风险。 最后值得注意的是SELinux/AppArmor等强制访问控制机制也可能干扰程序间通信行为从而造成类似的症状表现出来。针对这种情况可以通过调整策略配置文件或者临时切换至permissive模式来进行排查测试。 ```bash # 检查防火墙状态 (Linux) sudo systemctl status firewalld # 开放特定端口 (假设为CentOS/RHEL系列发行版为例) sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent sudo firewall-cmd --reload # 查看selinux当前enforcing级别 getenforce ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值