我创建了一个在OpsWOrks(Ubuntu服务器)中运行的带有MySQL数据(1层)的Rails应用程序(2层)。
有没有办法为Redis创建另一个图层并将此Redis图层连接到现有的Rails图层?我可以创建Redis图层,但不知道如何连接它们。
我已经在那里阅读了使用Chef食谱将Redis添加到Rails层的方法,但我对Chef不太熟悉,所以我正在尝试使用图层方法。
修改
我试图阻止Redis,在" Rails"下添加这个Redis层。图层,但结果仍然相同 - 我无法验证Redis是否正常工作。
如果我登录到服务器(例如在rails-myapp1
上)并运行
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"
提前谢谢。
答案 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应用程序中。