rails项目怎么提高速度 (linux nginx)(brown)
1.环境:linux+nginx rails3.0+
2.config/environment/production.rb修改:
config.action_controller.asset_host = "http://asset%d.example.com" #引用css、js、image,可以获取多个资源。(%d:表示任意数字)
如果图片与css与样式不是一个路径可以修改
config.action_controller.asset_host = Proc.new { |source|
if source.starts_with?('/assets')
"http://asset#{rand(4)}.example.com" #注意这里是不能用%d,目前写的是0-4之间的随机数
else
"http://example.b0.upaiyun.com"
end
}
config.assets.percompile += [数组] #如:%w(application home), 当运行rake assets:precompile可以生成.js.gz与.css.gz
3.在nginx中配置如下:
如果环境中配置如:config.action_controller.asset_host=http://asset%d.example.com
nginx配置文件中,如下配置就可以启用.js.gz与.css.gz文件
server {
listen 80;
server_name *.example.com;
root /root/apps/example/public;
gzip_static on;
expires 1y;
add_header Cache-Control public;
}
网页启用nginx压缩功能:
server {
listen 80;
server_name www.example.com;
root /root/apps/example/public;
gzip on;
gzip_static on;
gzip_proxied any;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
gzip_http_version 1.1;
gzip_min_length 10;
gzip_comp_level 9;
gzip_types text/xml;
}