ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Страница ошибки после работы memcached



Добрый день, Игорь.

Версия nginx 0.7.59
Вот вырезка из конфига:

        server {
                listen          80;

                location ~ .php$ {

                        fastcgi_pass   127.0.0.1:9000;
                        fastcgi_index  index.php;

fastcgi_param SCRIPT_FILENAME /site/www/htdocs$fastcgi_script_name;
                        fastcgi_param  QUERY_STRING     $query_string;
                        fastcgi_param  REQUEST_METHOD   $request_method;
                        fastcgi_param  CONTENT_TYPE     $content_type;
                        fastcgi_param  CONTENT_LENGTH   $content_length;
                }

                location / {
                        limit_req   zone=backend_limit  burst=5;

                        if ( $args = "" ) {
set $memcached_key "$uri";
                                memcached_pass          127.0.0.1:11211;
error_page 404 502 503 504 = @backend; add_header "Content-Type" "text/html; charset=UTF-8"; add_header "Cache-Control" "max-age=15";
                        }

                        proxy_pass              http://backend_site;
                        proxy_set_header        X-Real-IP  $remote_addr;
                        proxy_set_header        HOST  $http_host;
                        proxy_buffers           8  32k;


proxy_cache_key "$scheme://$host$uri$is_args$args:";
                        proxy_cache one;
                        proxy_cache_min_uses 1;
                        proxy_cache_valid 200 30s;
proxy_cache_use_stale error timeout http_500 http_502 http_503;
                }

                location @backend {
                        proxy_pass              http://backend_site;
                        proxy_set_header        X-Real-IP  $remote_addr;
                        proxy_set_header        HOST  $http_host;
                        proxy_buffers           8  32k;


proxy_cache_key "$scheme://$host$uri$is_args$args:";
                        proxy_cache one;
                        proxy_cache_min_uses 1;
                        proxy_cache_valid 200 30s;
proxy_cache_use_stale error timeout http_500 http_502 http_503;
                }

                access_log      /var/log/nginx/site.access_log main;
                error_log       /var/log/nginx/site.error_log warn;
        }

Подскажите пожалуйста, как можно организовать конфиг так, чтобы nginx сперва ишел к memcached, далее если у него нет контента, уходил на backend_site, и далее если от бекенда приходит код ответа 50*, то отображать спец. заготовленную страницу (то есть, использовать директиву error_page 404 502 503 504 = @backend;).

Проблема в том, что у нас как раз не получается создать такой конфиг - мешает memcached.

С уважением,
Дмитрий.



 




Copyright © Lexa Software, 1996-2009.