Welcome! Log In Create A New Profile

Advanced

nginx 1.11 + fast-cgi cache + map + ssi

June 08, 2016 02:57PM
Всем добрый вечер.

Использую на сайте кеширование fast-cgi запросов отдельных страниц. Страницы, которые нужно кешировать отдают X-accel-expires. Также для некоторых страниц нужен был другой fastcgi_cache_key в зависимости от $request_uri.

До версии 1.11 конфиг выглядел примерно так:

location ~ \.php$ {

set $fastcgi_cache_key $request_method|$host|$uri|$request_uri|$cookie_currency|$cookie_show_mode;

if ($request_uri ~ ^/objekti/.+){
set $fastcgi_cache_key $request_method|$host|$uri|$request_uri|$cookie_currency|$http_x_requested_with;
}
if ($request_uri ~ ^/xml/yml.php){
set $fastcgi_cache_key $request_method|$host|$uri|$arg_type|$arg_nosim;
}

.........
fastcgi_cache_key $fastcgi_cache_key;
.........
fastcgi_pass php-fpm;
}

И это работает.

С версии 1.11 map начал понимать несколько переменных в качестве результата. Т.о. сделал такую секцию:

map $request_uri $fastcgi_cache_key {
default $request_method|$host|$uri|$request_uri|$cookie_currency|$cookie_show_mode;
~^/objekti/.+ $request_method|$host|$uri|$request_uri|$cookie_currency|$http_x_requested_with;
~^/xml/yml.php $request_method|$host|$uri|$arg_type|$arg_nosim;
}

Убрал set и if из php-локейшена и получил "subrequests cycle while processing" в логах везде, где использую ssi. Вывел обе переменные - они равны. Заранее благодарен
Subject Author Posted

nginx 1.11 + fast-cgi cache + map + ssi

Дмитрий Герасимов June 08, 2016 02:57PM

Re: nginx 1.11 + fast-cgi cache + map + ssi

gz February 28, 2018 04:15PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 103
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready