无法连接到远程redis(带有rails)

时间:2015-06-23 08:41:21

标签: ruby-on-rails redis

我试图将redis与rails和命名空间一起使用。 在我的application.rb中,我把:

config.cache_store = :redis_store, 'redis://localhost:6379/0/cache', { expires_in: 90.minutes }

这里的localhost是我正在开发我的rails项目的窗口中的redis。

和我的config / initializers / redis.rb:

$redis = Redis::Namespace.new("my_app_name", :redis => Redis.new)

从我的控制器中我可以完美地访问它。

$redis.set("foo","bar")
word=$redis.get("foo")
puts word -------> output is "bar".

但我无法在另一台Linux服务器而不是localhost上访问Redis。 我试着这样做:

config.cache_store = :redis_store, 'redis://that_server_ip:6379/0', { expires_in: 90.minutes }

我不断得到

Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (Redis::TimeoutError)).

2 个答案:

答案 0 :(得分:0)

您的错误消息显示它仍在尝试连接到localhost,但是失败了。您可能需要重新启动应用才能接收新配置。

答案 1 :(得分:-1)

您需要通过防火墙公开您的端口,使用iptablesufw

[增订]

你可以发布你的/etc/hosts文件吗?