Nginx静态资源处理
静态资源一般频繁做访问解析处理, 需要缓存处理下( 在 http 块中生成 ):
http{
# 开启gzip
gzip on;
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间。一般设置1和2
gzip_comp_level 2;
# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
# 设置缓存路径并且使用一块最大100M的共享内存,用于硬盘上的文件索引,包括文件名和请求次数,每个文件在1天内若不活跃(无请求)则从硬盘上淘汰,硬盘缓存最大10G,满了则根据LRU算法自动清除缓存。
# 这里设置 static_cache 为缓冲区名称
# 这里是设置代理转发的配置, 如果没有启动反向代理转发内网可以不设置
proxy_cache_path /tmp/cache levels=1:2 keys_zone=static_cache:100m inactive=1d max_size=10g;
}
调用其唤起缓存服务( 放置于 server 块当中 ):
location ~* ^.+\.(css|js|ico|gif|jpg|jpeg|png)$ {
# 关闭日志
log_not_found off;
access_log off;
# 缓存天数
expires 7d;
# 指定上面设置的缓存区域
proxy_cache static_cache;
# 代理缓存过期管理
# 这里是设置代理转发的配置, 如果没有启动反向代理转发内网可以不设置
proxy_cache_valid 200 302 1d;
proxy_cache_valid 404 10m;
proxy_cache_valid any 1h;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
}