官方论坛产品帮助刷图视频问题反馈

Nginx做静态缓存的简单配置文件

发表于 秦海传媒

    Nginx做静态缓存的简单配置文件
    公司最近正在配置CDN加速器。需要对动态页面 静态页面分别缓存。做个详细记录备忘


    user www www;

    worker_processes 8;

    error_log /home/wwwlogs/nginx_error.log crit;

    pid /usr/local/nginx/logs/nginx.pid;

    #Specifies the value for maximum file descriptors that can be opened by this process.
    worker_rlimit_nofile 51200;

    events
    {
    use epoll;
    worker_connections 51200;
    }

    http
    {
    include mime.types;
    default_type application/octet-stream;

    charset GB2312;

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 50m;

    sendfile on;
    tcp_nopush on;

    keepalive_timeout 60;

    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_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

    #注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区
    proxy_temp_path /home/wwwroot/proxy_temp_dir;
    #设置Web缓存区名称为cache_one,内存缓存空间大小为50MB,1天清理一次缓存,硬盘缓存空间大小为30GB。
    proxy_cache_path /home/wwwroot/proxy_cache_dir levels=1:2 keys_zone=cache_one:50m inactive=1d max_size=30g;

    upstream backend_server {
    server 124.205.50.38:80 weight=1 max_fails=2 fail_timeout=30s;
    }

    server
    {
    listen 80;
    server_name www.qhdhqw.com qhdhqw.com;
    index index.html index.htm;
    root /home/wwwroot/htdocs/www;

    location /
    {
    #如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。
    proxy_next_upstream http_502 http_504 error timeout invalid_header;
    proxy_cache cache_one;
    #对不同的HTTP状态码设置不同的缓存时间
    proxy_cache_valid 200 304 12h;
    #以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
    proxy_cache_key $host$uri$is_args$args;
    proxy_set_header Host $host;
    proxy_set_header Accept-Encoding '';
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://backend_server;
    expires 1d;
    }

    #用于清除缓存,假设一个URL为http://192.168.8.42/test.txt,通过访问http://192.168.8.42/purge/test.txt就可以清除该URL的缓存。
    location ~ /purge(/.*)
    {
    #设置只允许指定的IP或IP段才可以清除URL缓存。
    #allow 127.0.0.1;
    #allow 192.168.0.0/16;
    #deny all;
    #proxy_cache_purge cache_one $host$1$is_args$args;
    }

    #扩展名以.php、.jsp、.cgi结尾的动态应用程序不缓存。
    location ~ .*\.(php|jsp|cgi)?$
    {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://backend_server;
    }

    access_log off;
    }
    }

  • 此条目发表在 服务器配置 分类目录。将固定链接加入收藏夹。

Google ADs

除非另有声明,本站文章遵循知识共享署名-非商业性使用 2.5 中国大陆许可协议。 Copyright © 2008-2012 99288.NET.CN.