背景:rails有页面缓存,action缓存和片断缓存,本篇只讨论页面缓存,本文使用lighttpd作为web服务器
Rails 页面缓存将动态页面生成为静态页面加速网站访问,对于那些页面大部分是与登陆信息无关的页面非常合适
Step1)rails 配置
确保config.action_controller.perform_caching = true
生产环境不需要
在controller中加入
caches_page :action1,:action2
这样,就指定了rails将访问的action的结果生成静态页面,比如你访问http://xxx.com/controller/action1
那么rails会在public目录下生成controller/action1.html
如果你不想直接在public目录下生成,那么你可以改写
config.action_controller.page_cache_directory = RAILS_ROOT + "/public/cache/"
Step2) lighttpd配置
修改lighttpd.conf
确保server.modules 中的mod_rewrite已打开
加入以下红色代码
$HTTP["host"] == "xxx.com" {
。。。。。。。。。。
url.rewrite += ( "^/$" => "/foreground/all_stars.html" )
url.rewrite += ( "^([^.]+)$" => "$1.html" )
。。。。。。。。。。。
}
注意上面的蓝色部分你自己根据情况写
Step 3)缓存的过期处理
你可以通过rails的sweeper,也可以写个cron脚本直接删生成的静态页面