Добрый день и доброго Нового года!
Перешел на нжинкс на фронтенде- доволен полностью. Благодарю Игоря Сысоева за такую замечательную разработку.
Занялись кешированием, так как ускорение ответа для пользователя сильно повышается.
вставил в конфиг
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]