我已经为此工作了好几天了,我不知道出了什么问题。
其他的都在工作,但我在redis上得到了“econnrefused”。
我有以下记录:
app01 ROLE: app
web01 ROLE: web
db01 ROLE:db:primary
redis01 ROLE:redis_master
redis02 ROLE:redis_slave
sidekiq01 ROLE:redis
下面是productionlog中的错误:
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'
一切都是用橡胶宝石做的。
我已经试过删除所有的安装,并从一开始就开始两次。我也试过制定一个自定义的安全规则,但如果我做得对,我就不是舒尔。
请帮帮我!
最佳答案
把这篇文章死而复生是因为我今天在同一个问题上挣扎时发现了它。我通过执行以下操作解决了我的问题:
我使用cap rubber:add_role
向服务器添加了redis_slave或redis_master角色。我发现这将同时添加指定的角色和通用的“redis”角色。假设您希望在添加角色之后,redis01是唯一的redis_主机,我希望您的环境具有:
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
更新了服务器在我的环境中,我正在部署来自git的代码,因此我必须提交这些更改并运行
cap -s branch="branch_name_or_sha" deploy
以在具有新角色的服务器上获取ruber/deploy-redis.rb并执行它。在完成所有这些之后,redis在我的所有节点上运行,而不会在其中任何节点上抛出
Redis::CannotConnectError (Error connecting to Redis on localhost:6379 (ECONNREFUSED))
错误。祝你好运!
关于ruby-on-rails-3 - ECONNREFUSED在redis上做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14945761/