V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ninqq
V2EX  ›  问与答

使用 Nginx 做缓存能否保持缓存下来的文件名和源保持一致

  •  
  •   ninqq · 2014-09-21 21:35:01 +08:00 · 3240 次点击
    这是一个创建于 3512 天前的主题,其中的信息可能已经有所发展或是发生改变。
    文件名不变 而不是f50511a195bcf8d6434634cd1b4620d1这样的文件

    如果目录名也能完全的一致下来 最好了
    如果Nginx不行的话 有木有其他可以做到的啊
    5 条回复    2014-09-22 08:41:13 +08:00
    lsylsy2
        1
    lsylsy2  
       2014-09-21 22:05:42 +08:00
    用proxy_store而不是proxy_cache参数,具体用法RT*M
    注意,这样的话缓存不会被自动清除,需要自己处理
    ninqq
        2
    ninqq  
    OP
       2014-09-21 22:41:51 +08:00
    @lsylsy2 求个示例,测试了一遍全部失败OTZ
    ninqq
        3
    ninqq  
    OP
       2014-09-21 23:23:18 +08:00
    @lsylsy2 好吧= -现在发现好像带有中文名的文件不能缓存下来 英文的可以
    ninqq
        4
    ninqq  
    OP
       2014-09-21 23:49:36 +08:00
    如果文件带有中文名无法缓存
    (不过我主要缓存图片 带有中文名称的的图片地址如果在网页上面加载可以正常缓存 如果在浏览器单独打开者不能)

    其实就是如果你浏览/y/妖精的尾巴/323话_1363360995/05.png 不能缓存
    /y/%E5%A6%96%E7%B2%BE%E7%9A%84%E5%B0%BE%E5%B7%B4/323%E8%AF%9D_1363360995/05.png
    确可以

    现在的问题是缓存下来的中文是乱码
    原结构
    /y/妖精的尾巴/323话_1363360995/
    变成
    /y/濡栫簿鐨勫熬宸?/323璇漘1363360995/

    还好浏览器可以访问,希望有会的帮解决写乱码问题

    #user nobody;
    worker_processes 1;


    events {
    worker_connections 1024;
    }


    http
    { include mime.types;
    #default_type application/octet-stream;
    default_type application/vnd.android.package-archive;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 2k;
    large_client_header_buffers 4 4k;
    client_max_body_size 8m;

    sendfile on;
    tcp_nopush on;

    keepalive_timeout 60;
    open_file_cache max=204800 inactive=20s;
    open_file_cache_min_uses 1;
    open_file_cache_valid 30s;

    tcp_nodelay on;
    client_body_buffer_size 512k;
    proxy_connect_timeout 5;
    proxy_read_timeout 60;
    proxy_send_timeout 5;
    proxy_buffer_size 16k;
    proxy_buffers 4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    gzip on;
    gzip_proxied expired no-cache no-store private auth;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 3;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;


    server {
    listen 80;
    server_name 192.168.1.1;
    location /{
    root /usr/local/nginx/conf/;
    error_page 404 = @fetch;
    }

    location @fetch {
    proxy_pass http://xxx.com;
    proxy_store on;
    proxy_store_access user:rw group:rw all:r;
    proxy_temp_path /usr/local/nginx/conf/;
    root /usr/local/nginx/conf/;
    }

    }

    }
    ryd994
        5
    ryd994  
       2014-09-22 08:41:13 +08:00 via Android
    乱码配置locales包为zhutf8
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2478 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:29 · PVG 16:29 · LAX 01:29 · JFK 04:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.