How to Nginx cache server setting

SaitoTetsuya tetuya0703 at me.com
Thu Feb 27 15:47:43 UTC 2014


Hi everyone

I would like to make reverse proxy and cache server from Nginx using CentOS6.5,
The setup of Nginx is as follows. 

But, cache information is not saved in /var/cache/nginx/hoge.com of proxy_cache_path.
Is this because a setup is wrong? 

Please advise me. 

Regards
TETSUYA Saito

【/etc/nginx/nginx.conf】
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


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

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$gzip_ratio"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    tcp_nopush      off;

    keepalive_timeout  65;

    gzip  on;
    gzip_http_version 1.0;
    gzip_types        text/plain 
                      text/xml 
                      text/css 
                      application/xml 
                      application/xhtml+xml 
                      application/rss+xml 
                      application/atom_xml 
                      application/javascript 
                      application/x-javascript 
                      application/x-httpd-php;
    gzip_disable      "MSIE [1-6]\.";
    gzip_disable      "Mozilla/4";
    gzip_comp_level   2;
    gzip_vary         on;
    gzip_proxied      any;
    gzip_buffers      4 8k;

    server_names_hash_bucket_size 128;    #    32/64/128

    include /etc/nginx/conf.d/*.conf;
}

【/etc/nginx/conf.d/proxy.conf】                                                                                                          
proxy_redirect                          off;
proxy_set_header Host                   $host;
proxy_set_header X-Real-IP              $remote_addr;
proxy_set_header X-Forwarded-Host       $host;
proxy_set_header X-Forwarded-Server     $host;
proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;
add_header X-Cache $upstream_cache_status;
                                                                                                
proxy_connect_timeout 60;
proxy_read_timeout    90;
proxy_send_timeout    60;
                                                                                                            
proxy_buffering  on;
proxy_buffer_size       8k;
proxy_buffers           100 8k;

【/etc/nginx/conf.d/virtual.conf】
upstream backend {
       ip_hash;
       server hoge:80;
}

proxy_cache_path      /var/cache/nginx/hoge.com levels=1:2 keys_zone=cache_hoge.com:15m inactive=7d max_size=512m;
proxy_temp_path       /var/cache/nginx/temp 1 2;

server {
       listen 80;
       server_name www.hoge.com;
       proxy_set_header        Host            $host;
       proxy_set_header        X-Real-IP       $remote_addr;
       proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
       access_log  /var/log/nginx/wp01.night-walker.asia/access_log  main;
       error_log  /var/log/nginx/wp01.night-walker.asia/error_log;

       if ($http_host = night-walker.asia) {
            rewrite  (.*)  http://wp01.night-walker.asia;
        }

       try_files $uri $uri/ /index.php?q=$uri&$args;

       location / {
                set $do_not_cache 0;

                #  -- POST or HEAD ?
                if ($request_method != "GET") {
                    set $do_not_cache 1;
                }

                #  -- Login or Comment or Post Editting ?
                if ($http_cookie ~ ^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$) {
                    set $do_not_cache 1;
                }

                #  -- mobile ?
                if ($http_x_wap_profile ~ ^[a-z0-9\"]+) {
                    set $do_not_cache 1;
                }

                #  -- Mobile ?
                if ($http_profile ~ ^[a-z0-9\"]+) {
                    set $do_not_cache 1;
                }

                #  -- Kei-tai ?
                if ($http_user_agent ~ ^.*(2.0\ MMP|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800).*) {
                    set $do_not_cache 1;
                }

                #  -- Mobile ?
                if ($http_user_agent ~ ^(w3c\ |w3c-|acs-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-|dang|doco|eric|hipt|htc_|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-|lg/u|maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo|teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|wap-|wapa|wapi|wapp|wapr|webc|winw|winw|xda\ |xda-).*) {
                    set $do_not_cache 1;
                }

                #  -- Kei-tai ?
                if ($http_user_agent ~ ^(DoCoMo/|J-PHONE/|J-EMULATOR/|Vodafone/|MOT(EMULATOR)?-|SoftBank/|[VS]emulator/|KDDI-|UP\.Browser/|emobile/|Huawei/|IAC/|Nokia|mixi-mobile-converter/)) {
                    set $do_not_cache 1;
                }

                #  -- Kei-tai ?
               if ($http_user_agent ~ (DDIPOCKET\;|WILLCOM\;|Opera\ Mini|Opera\ Mobi|PalmOS|Windows\ CE\;|PDA\;\ SL-|PlayStation\ Portable\;|SONY/COM|Nitro|Nintendo)) {
                   set $do_not_cache 1;
                }
 
		proxy_cache           cache_hoge.com;
     		proxy_cache_valid     200 2h;
     		proxy_cache_valid     302 2h;
     		proxy_cache_valid     301 4h;
     		proxy_cache_valid     any 1m;
                proxy_no_cache	$do_not_cache;
                proxy_cache_bypass	$do_not_cache;
		resolver 127.0.0.1; 
                proxy_pass http://$host;
                proxy_cache_key $scheme://$host$request_uri;
       }
}




More information about the nginx mailing list