Назад | Перейти на главную страницу

Настройка Nginx fastcgi_cache_valid

Я пытался установить 2 разных времени кеширования. Мне нужен микрокэш для разового запроса. А все остальные запросы следует кэшировать на более длительное время. Все запросы должны идти в блок местоположения, чтобы запросы передавались PHP.

Я получаю ошибку при запуске nginx -t:

nginx: [emerg] недопустимое значение времени "$ cache_time"

Вот часть моего серверного блока nginx conf:

set $cache_time 5m;
if ($request_uri ~ "myurl/\d*"){
    set $cache_time 2s;
}

location ~ \.php {
    fastcgi_cache MYCACHE;
    fastcgi_cache_valid 200 $cache_time;
    fastcgi_no_cache 0;

    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index /index.php;

    include /etc/nginx/fastcgi_params;

    fastcgi_split_path_info       ^(.+\.php)(/.+)$;
    fastcgi_param PATH_INFO       $fastcgi_path_info;
    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Почему указано недопустимое значение $ cache_time? Тоже пробовал "2s". Мне вообще не разрешено устанавливать его из переменной? Есть обходные пути?