我已在https://medium.com/@andrewcbass/install-redis-v3-2-on-aws-ec2-instance-93259d40a3ce之后在AWS ec2实例上设置了Redis服务器

我在另一个EC2实例上运行python脚本

import redis

try:
    conn = redis.Redis(host=<private ip address>,port=6379, db=1)
    user = {"Name":"Pradeep", "Company":"SCTL", "Address":"Mumbai", "Location":"RCP"}
    conn.hmset("pythonDict", user)
    conn.hgetall("pythonDict")
except Exception as e:
    print(e)

在redis服务器的安全组中,我允许端口6379上的入站流量

运行上述脚本时,出现以下错误:
Error 111 connecting to 172.31.22.71:6379. Connection refused.

我已经尝试过更改conf文件中的绑定(bind)值,这是对堆栈溢出类似问题的一些答案所建议的,但是它没有用

最佳答案

假设您的其他实例与Redis实例在同一子网内,我的建议是检查以下几点:

  • 确保在安全组入站规则中,已为子网设置了Redis端口,例如:
    6379 (REDIS)    172.31.16.0/20
    
  • 如果尚未完成操作,请在Redis配置中(例如/etc/redis/redis.conf),将服务器绑定(bind)到专用IP(bind 172.31.22.71)或简单地注释掉任何现有的localhost绑定(bind),然后重新启动Redis
  • 关于python - 无法连接到端口6379上Amazon ec2上部署的Redis服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43298446/

    10-11 08:03
    查看更多