有没有办法在OpsWorks中将Redis图层设置为现有的Rails应用程序?

时间:2016-02-28 03:38:11

标签: ruby-on-rails ruby amazon-web-services redis aws-opsworks

我创建了一个在OpsWOrks(Ubuntu服务器)中运行的带有MySQL数据(1层)的Rails应用程序(2层)。

有没有办法为Redis创建另一个图层并将此Redis图层连接到现有的Rails图层?我可以创建Redis图层,但不知道如何连接它们。

我已经在那里阅读了使用Chef食谱将Redis添加到Rails层的方法,但我对Chef不太熟悉,所以我正在尝试使用图层方法。

修改

我试图阻止Redis,在" Rails"下添加这个Redis层。图层,但结果仍然相同 - 我无法验证Redis是否正常工作。 如果我登录到服务器(例如在rails-myapp1上)并运行 enter image description here

  

redis的-CLI

输出

redis-cli
WARNING:root:could not open file '/etc/apt/sources.list.d/trusty-multiverse.list'

The program 'redis-cli' is currently not installed. To run 'redis-cli' please ask your administrator to install the package 'redis-tools'

如何解决这个问题?

EDIT2:

我还有" Redis"下的redis1图层。 (现在在哪里"没有实例"),但结果是一样的。

EDIT3:

如果我在安装了Redis的服务器上通过SSH连接并运行redis-cli然后KEYS *来查看Redis缓存的所有内容,那就没有了。

config/environments/production.rb设置

  #config.cache_store = :redis_store, "redis://localhost:6379/0/cache"
  config.cache_store = :redis_store, "redis://127.0.0.1:6379/0/cache"

提前谢谢。

1 个答案:

答案 0 :(得分:0)

OpsWorks不为Redis提供内置层。

您可以执行How to run Redis on Amazon OpsWorks for a Rails application?之类的操作来使用Elasticache并使用自定义cookbook在Rails实例中进行配置。

或者,如果要在OpsWorks层中创建Redis实例,则需要使用自定义cookbook来设置Redis服务器。之后,您可以使用Rails层中的自定义cookbook通过使用图层属性http://docs.aws.amazon.com/opsworks/latest/userguide/attributes-json-opsworks-layers.html来查找Redis图层实例。然后将Redis配置到Rails应用程序中。