У меня есть наброски для FastCgi Cache:
fastcgi_temp_path /dev/shm/ngx_cache;
fastcgi_cache_path /dev/shm/ngx_cache/ngx_fcgi-cache levels=1 keys_zone=phpcache:64m max_size=200m inactive=1d;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_store on;
fastcgi_cache_lock on;
fastcgi_cache phpcache; # The name of the cache key-zone to use
fastcgi_cache_valid 200 301 302 304 30m; # кешировать ответы с кодом 200 и.т.д на 1 час
fastcgi_cache_min_uses 1; # Кол-во запросов, после которых ответ будет закеширован
# Выдаем всегда свежий Last-Modified.
expires -1; # Внимание!!! Эта строка expires необходима!
add_header Last-Modified $sent_http_Expires;
fastcgi_hide_header Set-Cookie;
fastcgi_cache_use_stale updating error timeout invalid_header http_500; # Используем вариант из кеша (даже если он устарел) в случае ошибки
add_header X-Fastcgi-Cache $upstream_cache_status; # Add header so we can see if the cache hits or misses
Но есть очень большое но которое мешает его использовать!
ЭТО кеширование ВСЕГО и ВСЯ!
Как только не пытался его отключить на не нужных страницах!
fastcgi_no_cache $no_cache;
fastcgi_cache_bypass $no_cache;
location ~ ^/(admin/*|my-account|index.php?route=account/simpleedit|change-password|address-book|wishlist|newsletter|reward-points|returns|order-history|downloads|transactions|index.php?route=account/recurring|index.php?route=account/logout){
set $no_cache 1;
}
Нужно его отключать на сайте где url начинается с:
admin/*|my-account|index.php?route=account/simpleedit|change-password|address-book|wishlist|newsletter|reward-points|returns|order-history|downloads|transactions|index.php?route=account/recurring|index.php?route=account/logout
Но чет не получается