关闭

[置顶] nginx层使用缓存

371人阅读 评论(0) 收藏 举报
分类:

ngx_http_proxy_module插件。

官方文档:http://nginx.org/en/docs/http/ngx_http_proxy_module.html


关键配置

proxy_temp_path   /data/nginx_cache/proxy_cache/proxy_temp_dir;
proxy_cache_path  /data/nginx_cache/proxy_cache/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=10g;
 
server  {
        listen 80;
        server_name example.resource.com;
 
        location ~ (.+),(\d+),(\d+)\.(jpg|gif|png)$ {
            proxy_pass http://localhost:8000;
            proxy_cache cache_one; #使用命名为cache_one的缓存
            proxy_cache_valid 200 302 30m; #200 302状态的过期时间
            proxy_cache_valid 404 1m; #404状态的过期时间
            proxy_cache_valid any 10m; #其他状态的过期时间
            proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
        }
}

配置解析:

proxy_cache_path /data/nginx_cache/proxy_cache/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=10g;

声明一个命名为cache_one的cache,cache路径为/data/nginx_cache/proxy_cache/proxy_cache_dir;levels=1:2代表缓存文件存放时使用二级目录;200m 代表内存最大使用200M;max_size=10g代表硬盘最大使用10g;inactive=1d代表缓存过期时间为1天。

levels设置目录层次

keys_zone设置缓存名字和共享内存大小

inactive在指定时间内没人访问则被删除在这里是1天

max_size硬盘最大缓存空间

注意一点proxy_cache_path和proxy_temp_path设置的目录需要在同一分区,因为它们之间是硬链接的关系



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15885次
    • 积分:314
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:8篇
    • 译文:0篇
    • 评论:3条
    文章分类
    文章存档
    最新评论