nginx simple caching solutions

Ian Evans ianevans at digitalhit.com
Wed Aug 1 13:02:38 UTC 2012


On 01/08/2012 4:44 AM, Mark Alan wrote:
>> Any thoughts or config example links?
>
> 1. create dir /var/lib/nginx/fastcgicache and make it readable by nginx
>
> 2. at the very begining of your /etc/nginx/sites-available/yoursite
> file (i.e., before the first server { ... line) include these 3 lines:
>
>     fastcgi_cache_path /var/lib/nginx/fastcgicache levels=1:2
>     keys_zone=MYCACHE:5m inactive=2h max_size=1g loader_files=1000
>     loader_threshold=2000;
>
>     map $http_cookie $no_cache { default 0; ~SESS 1; }
>
>     fastcgi_cache_key "$scheme$request_method$host$request_uri";
>
> 3. in the block where you pass the control to php-fpm (i.e., the block
> were you put include fastcgi_params; fastcgi_pass ...;
> fastcgi_param ...; and so on ) add these:
>
> 		fastcgi_cache MYCACHE;
> 		fastcgi_keep_conn on;
> 		fastcgi_cache_bypass $no_cache;
> 		fastcgi_no_cache $no_cache;
> 		fastcgi_cache_valid 200 301 10m;
> 		fastcgi_cache_valid 302 5m;
> 		fastcgi_cache_valid 404 1m;
> 		fastcgi_cache_use_stale error timeout invalid_header updating http_500;
> 		fastcgi_ignore_headers Cache-Control Expires;
> 		expires epoch;
> 		fastcgi_cache_lock on;

Wow, Mark, thanks. I was doing some testing earlier tonight and a few of 
my pages were fast loading on their own but under load they just ground 
the system to a halt. So this should help.

How do I turn off the caching for a specific directory? I'll need to do 
that on my phpmyadmin and data entry/update dirs.

Thanks again.



More information about the nginx mailing list