[guru] nginx и кеширование в memcached

Тема в разделе "Администрирование серверов", создана пользователем DOLARiON, 29 янв 2009.

Статус темы:
Закрыта.
Модераторы: mefish, stooper
  1. DOLARiON

    DOLARiON

    Регистр.:
    4 сен 2006
    Сообщения:
    191
    Симпатии:
    48
    собственно, сабж...


    имеется связка Apache+Nginx

    конфиг примерно такой:

    Код:
    server {
        listen        80;
        server_name    site.ru;
        access_log    /var/log/nginx/site.ru.access.log;
    
        location / {
            root   /home/site.ru/public_html;
            index  index.html index.htm;
    
            set $memcached_key "site.ru.$uri";
            memcached_pass localhost:11211;
    
            # если в memcached не найден ресурс, передаем запрос на апач
            error_page 404 502 504 = @backend;
            add_header Content-Type "text/html; charset=UTF-8";
            gzip on;
            gzip_proxied any;
            gzip_types application/octet-stream;
        }
    
    
        location @backend {
            set $proxy_uri http://site.ru:99999$request_uri;
            proxy_pass $proxy_uri;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X_Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout 20;
        }
    
        location ~ /\.ht {
            deny  all;
        }
    
    }
    
    каким-то макаром можно то что мы поулчаем с @backend кешировать средствами nginx? или нет и нужно обязательно ворвардить на апач, из которого уже отправляем в кеш

    причем нужны условия:
    скажем, по урлам
    если у нас "/" (главная страница) - 10 мин
    если "/news" - 20 мин
    если "/news/news1.html" - 24 часа
    в любом другом случае - 1 час
    ну и т.д.

    PS. я понимаю что средствами пхп отправлять в мемкешед достаточно просто... вопрос только в том, что если всем этим можно управлять из nginx - было бы гораздо удобнее - не пришлось бы делать корректировки в скриптах, которые по определенным обстоятельствам не хотелось бы трогать :)
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    General Fizz нравится это.
  3. DOLARiON

    DOLARiON

    Регистр.:
    4 сен 2006
    Сообщения:
    191
    Симпатии:
    48
    вообще не в тему! тоже самое у меня уже написано в примере конфига в первом посте... читай внимательнее

    мне нужно именно кеширование средствами nginx
    возможно ли такое вообще?

    т.е. когда мы получили от апача инфу... средствами nginx нужно отправить ее в memcached c соответствующими параметрами кешироания...
     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    Не сразу понял суть вопроса :ah:

    Насколько мне известно, nginx умеет только читать из memcahed.
    То есть если данных в кэше нет, то отправляем дальше.

    Цитата из мана
     
    DOLARiON нравится это.
  5. DOLARiON

    DOLARiON

    Регистр.:
    4 сен 2006
    Сообщения:
    191
    Симпатии:
    48
    О!
    значит всетаки незя - это плохо :confused:

    по теме вопроса еще нарыл вот такой вот свеженький пост, что называется, от создателей хабрахабр :)


    Перейти по ссылке
     
    General Fizz нравится это.
Статус темы:
Закрыта.