Nginx 设置 fastcgi_cache_valid

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”。我根本就不能从变量中设置它吗?有什么解决方法吗?

相关内容