繁体   English   中英

缓存:[GET /] miss? dalli gem,memcached,rails 3.1,nginx,unicorn生产环境

[英]cache: [GET /] miss? dalli gem, memcached, rails 3.1, nginx, unicorn production environment

我正在努力让第一个应用程序在生产中运行。 无论我做什么,我都会在我的独角兽日志中得到一个基本的404页面,无论我做什么:

 cache: [GET /] miss cache: [GET /something] miss 

production.rb

  config.cache_store = :dalli_store, 'localhost:11211' #config.cache_store = :memory_store 

一切都在开发中运行良好(没有在开发中跳过的缓存),并且双重检查我根据rails指南设置控制器动作缓存的所有语法都是正确的,只有错误消息。

任何人都可以给出一些关于为什么或我缺少什么的指示? 在开发中工作,但不在我设置的服务器上。 我非常乐意提供更多信息来解决这个问题。 这是很多移动部件的协调,我很感激任何输入。

编辑:

我从memcached那里得到了一些反馈,用以前的所有选项和-B二进制文件运行它(加上-vv)似乎程序甚至没有连接memcached; memcached在程序运行时不会注册任何内容。

编辑:

我回到了当地的开发和生产环境; 缓存工作,memcached响应,唯一的区别是我没有运行nginx / unicorn只是webrick,但如果这有助于确定一个问题我应该知道这可能是一些用途和追求的方向。

编辑:

返回服务器,然后在启用了缓存配置的开发模式下运行:

config.cache_classes = true config.action_controller.perform_caching = true config.cache_store =:dalli_store,'127.0.0.1:11211'

很明显,rails没有与memcached连接。 日志中没有任何内容甚至尝试连接缓存,而使用-vv运行的memcache也没有显示任何活动。 如果我去控制台,我可以按照dalli基本cli说明手动连接,嗯。 只是尝试使用memcached实例的各种选项不会产生任何响应。

但是,我可以在我设置它的每个请求上的索引页面上查询memcached stats ...虽然在rails日志中没有显示有关访问memcached的信息。

编辑:

通过这个摔跤,发现错误是无关的....一旦我通过一些资产管道问题排序错误的样式表,一切似乎运行顺利。 至少是学习经历。

Dalli只是二进制协议,因此请确保您的memcached服务器使用二进制协议。 例如,memcached应​​该以​​:

memcached [...] -B auto [...]

此外, memcached版本必须> = 1.4.0

UPDATE

这些消息是由Rack :: Cache设置为详细日志记录模式生成的,并不意味着任何事情都是错误的。 他们更像是一个提醒你可以做的事情

expires_in 20.minutes
expires_in 3.hours, :public => true
expires_in 3.hours, 'max-stale' => 5.hours, :public => true

(在你的Rails控制器中)然后页面缓存可以自动工作(并且这些消息会在从缓存中呈现页面时消失)。

您可以通过heroku控制台使用Rails.cache.read('[key]')来发现它是否正常工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM