我不会接受我不要的未来
哪怕是命中注定

Nginx expires,proxy_cache缓存,gzip配置

gzip设置:

    gzip on; #开启gzip
    gzip_min_length 1k; #gzip最短压缩大小
    gzip_buffers 4 64k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain application/x-javascript text/css application/javascript text/javascript image/jpeg image/gif image/png application/xml application/json;
    gzip_vary on;
    gzip_disable "MSIE [1-6].(?!.*SV1)";

proxy_cache:

1.如何配置基本缓存设置

开启简单的缓存配置,只需要两个指令:proxy_cache_path和proxy_cache。proxy_cache_path配置缓存的存放地址和其他的一些常用配置,proxy_cache指令是为了启动缓存。

proxy_cache_path /path/to/cache levels=1:2 keys_zone=mycache:10m max_size=10g inactive=60m use_temp_path=off;
server {
  # ...
  location / {
    proxy_cache mycache;
    proxy_pass http://my_upstream;
  }
}

location ~* ^.+\.(css|js|ico|gif|jpg|jpeg|png|html|htm)$ {
log_not_found off;
proxy_cache mycache;
proxy_cache_valid  200 206 304 301 302 1d;
proxy_cache_key $host$uri$is_args$args;
proxy_set_header        Host            $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
add_header  Nginx-Cache "$upstream_cache_status";
proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
proxy_pass http://211.149.132.149:8080;
access_log on;
expires 1d;
}

相关配置说明如下:

  • /path/to/cache 本地路径,用来设置Nginx缓存资源的存放地址
  • levels 默认所有缓存文件都放在同一个/path/to/cache下,但是会影响缓存的性能,因此通常会在/path/to/cache下面建立子目录用来分别存放不同的文件。假设levels=1:2,Nginx为将要缓存的资源生成的key为f4cd0fbc769e94925ec5540b6a4136d0,那么key的最后一位0,以及倒数第2-3位6d作为两级的子目录,也就是该资源最终会被缓存到/path/to/cache/0/6d目录中
  • key_zone 在共享内存中设置一块存储区域来存放缓存的key和metadata(类似使用次数),这样nginx可以快速判断一个request是否命中或者未命中缓存,1m可以存储8000个key,10m可以存储80000个key
  • max_size 最大cache空间,如果不指定,会使用掉所有disk space,当达到配额后,会删除最少使用的cache文件
  • inactive 未被访问文件在缓存中保留时间,本配置中如果60分钟未被访问则不论状态是否为expired,缓存控制程序会删掉文件。inactive默认是10分钟。需要注意的是,inactive和expired配置项的含义是不同的,expired只是缓存过期,但不会被删除,inactive是删除指定时间内未被访问的缓存文件
  • use_temp_path 如果为off,则nginx会将缓存文件直接写入指定的cache文件中,而不是使用temp_path存储,official建议为off,避免文件在不同文件系统中不必要的拷贝
  • proxy_cache 启用proxy cache,并指定key_zone。另外,如果proxy_cache off表示关闭掉缓存。

更多相关参数设置可参考 http://nginx.org/en/docs/

赞(0)
未经允许不得转载:技术搬运工 » Nginx expires,proxy_cache缓存,gzip配置
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我们不生产技术 我们只是技术的搬运工