我已经做了好几天了,我无法弄清楚出了什么问题。
其他一切正常,但我在redis上获得了“ECONNREFUSED”。 我跟着运行:
app01 ROLE: app
web01 ROLE: web
db01 ROLE:db:primary
redis01 ROLE:redis_master
redis02 ROLE:redis_slave
sidekiq01 ROLE:redis
以下是生产日志中的错误:
Redis::CannotConnectError (Error connecting to Redis on localhost:6379 (ECONNREFUSED)):
app/models/user.rb:63:in `send_password_reset'
app/controllers/password_resets_controller.rb:10:in `create'
使用rubber-gem设置一切。
我试图删除所有实例并从头开始两次。此外,我试图制定一个自定义的安全规则,但如果我做对了,我就不会感到舒服。
请帮助我!
答案 0 :(得分:0)
将这篇文章从死里复活,因为我在今天遇到同样的问题时找到了它。我通过执行以下操作解决了我的问题:
我使用cap rubber:add_role
将redis_slave或redis_master角色添加到服务器。我发现这将添加指定的角色和通用的“redis”角色。假设您希望redis01在添加角色后成为唯一的redis_master,我希望您的环境具有:
app01 ROLE: app
web01 ROLE: web
db01 ROLE:db:primary
redis01 ROLE:redis_master
redis01 ROLE:redis
redis02 ROLE:redis_slave
redis01 ROLE:redis
sidekiq01 ROLE:redis_slave
sidekiq01 ROLE:redis
设置角色后,我使用cap rubber:bootstrap
在 my 环境中,我正在从git部署代码,因此我必须提交这些更改并运行cap -s branch="branch_name_or_sha" deploy
以获取rubber / deploy-redis.rb具有新角色的服务器并执行它。
完成所有这些操作后,redis会在我的所有节点上运行,而不会在任何节点上抛出Redis::CannotConnectError (Error connecting to Redis on localhost:6379 (ECONNREFUSED))
错误。
祝你好运!