Страница ошибки после работы memcached
Дмитрий Горбенко
dgorbenko at agenstvo.com
Wed May 27 17:07:04 MSD 2009
Добрый день, Игорь.
Версия 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.
С уважением,
Дмитрий.
More information about the nginx-ru
mailing list