Re: проблемы с кэшированием, версия 0.8.54

Sergey Shepelev temotor на gmail.com
Пн Дек 20 23:08:44 MSK 2010


2010/12/20 Александр Рочев <foxr at mail.ru>:
> При работе с энджин икс столкнулся с проблемой кеширования.Суть в том, что
> не происходит запись закешированных файлов в определенную папку.
> До принятия решения о кешировании все модули и параметры были всегда
> внимательно прочитаны на вашем сайте и проблем никогда не возникало, но в
> данной ситуации не получается так же просто как и раньше.
> Система FreeBSD.
> Полный конфиг:
>
> Генеральный конфиг:
> user  www www;
>
> worker_processes  8;
>
> error_log  /pub/log/nginx/error_log  notice;
>
> pid        /var/run/nginx.pid;
>
> events {
>     worker_connections  4000;
>     use kqueue;
>         }
>
> http {
>     include       mime.types;
>     default_type  application/octet-stream;
>     server_names_hash_bucket_size 1024;
>     client_header_timeout  1m;
>     client_body_timeout    1m;
>     send_timeout           1m;
>     keepalive_timeout      1m;
>     sendfile               on;
>     tcp_nopush             on;
>     tcp_nodelay            on;
>     send_lowat             12000;
>     client_max_body_size   20m;
>     proxy_connect_timeout  60;
>     proxy_send_timeout     60;
>     proxy_read_timeout     60;
>     proxy_buffer_size      64k;
>     proxy_buffers          4 32k;
>     proxy_busy_buffers_size 64k;
>     proxy_buffering        off;
>     large_client_header_buffers 4 16k;
>     gzip                   on;
>     gzip_min_length        1000;
>     gzip_proxied           any;
>     gzip_types             text/plain text/xml application/xml
> application/x-javascript text/javascript text/css text/json;
>     gzip_disable           "msie6";
>     gzip_comp_level        6;
>
>     proxy_cache_path /home/www/cache levels=1:2 keys_zone=one:20m;
>
>     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  /pub/log/nginx/access_log  main;
>
> server {
>         listen 80 default rcvbuf=8k sndbuf=16k;
>        }
>
> include     /usr/local/etc/nginx/vhosts/*;
>
>
>
> Виртуал хост:
>
> upstream bak {
>     server 127.0.0.1:2003;
>              }
>
>
> server {
>
> reset_timedout_connection on;
>
> listen ip:80;
>
> server_name    test.ru www.test.ru;
>
> location ~*
> ^.+\.(htm|html|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$
> {
>                         root /pub/home/vand/www2.vand.ru/www;
>
> access_log off;
> expires 3h;
>         }
>
> location ~ /\.ht {
>                 deny  all;
>                     }
>
> location / {
>
>         proxy_set_header        Host $http_host;
>         proxy_set_header        X-Real-IP $remote_addr;
>         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
>         proxy_pass http://bak/;
>         proxy_cache one;
>         proxy_cache_valid 200 301 302 304 5m;
>         proxy_cache_key "$host$request_uri $cookie_user";
>         proxy_hide_header "Set-Cookie";
>         proxy_ignore_headers "Cache-Control" "Expires";
>     }
>         }
>
> Версия nginx: 0.8.54
>
> Проблема: не кешируются страницы, в созданной папке не появляется ни один
> файл. Проблема конфига или же все таки версии энджин икса?
>
> Вот кусок из еррор лога:
>
> 2010/12/20 22:11:05 [notice] 19761#0: using the "kqueue" event method
> 2010/12/20 22:11:05 [notice] 19761#0: nginx/0.8.54
> 2010/12/20 22:11:05 [notice] 19761#0: OS: FreeBSD 7.2-RELEASE
> 2010/12/20 22:11:05 [notice] 19761#0: kern.osreldate: 702000, built on
> 702000
> 2010/12/20 22:11:05 [notice] 19761#0: hw.ncpu: 12
> 2010/12/20 22:11:05 [notice] 19761#0: machdep.hlt_logical_cpus: 0
> 2010/12/20 22:11:05 [notice] 19761#0: net.inet.tcp.sendspace: 32768
> 2010/12/20 22:11:05 [notice] 19761#0: kern.ipc.somaxconn: 128
> 2010/12/20 22:11:05 [notice] 19761#0: getrlimit(RLIMIT_NOFILE): 11095:11095
> 2010/12/20 22:11:05 [notice] 19762#0: start worker processes
> 2010/12/20 22:11:05 [notice] 19762#0: start worker process 19763
> 2010/12/20 22:11:05 [notice] 19762#0: start worker process 19764
> 2010/12/20 22:11:05 [notice] 19762#0: start worker process 19765
> 2010/12/20 22:11:05 [notice] 19762#0: start worker process 19766
> 2010/12/20 22:11:05 [notice] 19762#0: start worker process 19767
> 2010/12/20 22:11:05 [notice] 19762#0: start worker process 19768
> 2010/12/20 22:11:05 [notice] 19762#0: start worker process 19769
> 2010/12/20 22:11:05 [notice] 19762#0: start worker process 19770
> 2010/12/20 22:11:05 [notice] 19762#0: start cache manager process 19771
> 2010/12/20 22:11:05 [notice] 19762#0: start cache loader process 19772
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:11:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:12:05 [notice] 19772#0: http file cache: /home/www/cache
> 0.000M, bsize: 2048
> 2010/12/20 22:12:05 [notice] 19762#0: signal 20 (SIGCHLD) received
> 2010/12/20 22:12:05 [notice] 19762#0: cache loader process 19772 exited with
> code 0
> 2010/12/20 22:12:05 [notice] 19762#0: signal 23 (SIGIO) received
> 2010/12/20 22:12:05 [notice] 19762#0: signal 23 (SIGIO) received
>

Это наверное, должно было вывалиться в errol.log, но тем не менее.
Права на запись в директорию кеша есть?

ls -l /home/www /home/www/cache

Попробуйте также включить debug лог.


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