Не кешируется корневой ответ

avas nginx-forum на nginx.us
Пн Янв 3 15:20:50 MSK 2011


Добрый день и доброго Нового года!

Перешел на нжинкс на фронтенде- доволен
полностью. Благодарю Игоря Сысоева за
такую замечательную разработку.
Занялись кешированием, так как
ускорение ответа для пользователя
сильно повышается.
вставил в конфиг
    proxy_store   /var/tmp/nginx/proxy_store/$host$uri;
    proxy_cache_key  $host$uri$query_string;
       
столкнулся с такой проблемой
кеширования: в кеше не сохраняется
страница вызванная в виде http://mydomen.ru 
(хотя папка mydomen.ru создается но пустая),
если же вызвать http://mydomen.ru/index.html то в
кеше index.html создается.
При вызове страниц вида
http://mydomen.ru/?record_id=236
в папке mydomen.ru создается папка news и в ней
файл ?record_id=236 с правильным содержимым.

Проблему кеширования ответов виде 
http://mydomen.ru решил так 
    proxy_store   /var/tmp/nginx/proxy_store/$host$request;
    proxy_cache_key  $request;
и все ответы кешируются, содержимое
файлов правильное, НО если посмотреть
сруктуру создаваемых каталогов и
файлов таааакой бардак.... 
[code]
/.../mydomen.ruGET
 HTTP
               1.1

 index.html HTTP
               1.1

news?record_id=236 HTTP
               1.1
[/code]


то есть создается путь, и в папке лежит
файл с именем 1.1 

Прошу совета- как сконфигурить чтобы
структура папок была нормальная, но
кешировались все ответы сервера.
На вопрос прошу не ругаться - я
начинающий нжинксер.


С уважением,
Алексей.

PS - на бекенде много сайтов, поэтому
такой конфиг.

----------------------------------------------------------------------------------------

freebsd# cat nginx.conf
[code]
user  ngx;

worker_processes  1;

error_log  /var/log/nginx/error.log;

events {
    worker_connections  1024;
}


http {

        allow all;

    include       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"';

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

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;

    keepalive_timeout  65;

    gzip on;
    gzip_min_length  128;
    gzip_types       text/plain text/xml application/xml
application/x-javascript text/javascript text/css text/json;
    gzip_comp_level  9;
    gzip_static      on;
    gzip_proxied     any;
    gzip_buffers 16 8k;

    output_buffers 32 16k;
    #postpone_output 1472;

    proxy_temp_path  /var/tmp/nginx/proxy_temp 1 2;
    proxy_cache_path /var/tmp/nginx/proxy_cache levels=1:2
keys_zone=my_cache:10m inactive=1d max_size=1024m;
    proxy_cache_min_uses 1;
    proxy_store   /var/tmp/nginx/proxy_store/$host$request;

            proxy_cache_valid  200      10m;
            proxy_cache_valid  404      1m;
            proxy_cache_valid  301 302  10m;

            proxy_cache_key  $request;

    server {
        listen 80;

         access_log  /var/log/nginx/all.access.log  main;
        location / {
            proxy_pass         http://192.168.5.250:80/;
            proxy_redirect     default;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For 
$proxy_add_x_forwarded_for;
            client_max_body_size       50m;
            client_body_buffer_size    128k;
            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;
            proxy_buffer_size          4k;
            proxy_buffers              16 16k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;

           proxy_cache my_cache;

            #na odnogo klienta na !VSE! ego connects
            set $limit_rate 64k;

        if ($http_user_agent !~* MSIE|Mozilla|Opera)
        { set $limit_rate  8k; }

        }
    }
}
[/code]

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,163081,163081#msg-163081




Подробная информация о списке рассылки nginx-ru