Хабр Курсы для всех
РЕКЛАМА
 Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать! 
keys_zone=wholepage:50m;
fastcgi_cache_path /tmp/nginx/ levels=1:2 keys_zone=fastcgi_cache:16m max_size=256m inactive=1d;
fastcgi_cache_key "...$cookie_user";, не подходит — нужно кешировать только в случае пустой куки, а не для каждого её значения. Хотя, можно попробовать загнать директиву fastcgi_cache в if.fastcgi_cache_key.
location ~ ^(здесь_урлы_которые_нужно_кэшировать)$ {
    set $test_cache_on "$cookie_debugMode|$arg_nocache|любые_другие_значения_непустые_для_отключения_кэша";
    if ($test_cache_on = "") {
        rewrite .* /php_cache last;
    }
    rewrite ^ /php_no_cache last;
}
location /php_cache {
    internal;
    ...
    fastcgi_cache wholepage;
    ...
}
set $tocache 1;
if ($http_cookie ~* "sessionId=([^;]+)(?:;|$)") { 
 set $tocache 0;
}
...
if ($tocache) {
 fastcgi_pass ...
}
Подводные камни при использовании кэширования в nginx