Eu tenho tentado definir dois horários de cache diferentes. Eu preciso de um microcache para solicitação única. E todas as outras solicitações devem ser armazenadas em cache por mais tempo. Todas as solicitações devem ir para o bloco de localização, para que as solicitações sejam passadas para o PHP.
Erro ao receber nginx -t:
nginx: [emerg] invalid time value "$cache_time"
Aqui faz parte do meu bloco de servidor 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;
}
Por que diz inválido $ cache_time? Também tentei '2s'. Eu não tenho permissão para defini-lo da variável em tudo? Alguma solução alternativa?