рабочий конфиг wordpress + чистый nginx c кешированием на 60 минут:
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=mydomain.com:60m;
server{
server_name mydomain.com
www.mydomain.com;
listen 111.222.333.444;
access_log /var/log/nginx/mydomain.com.access.log;
root /var/www/mydomain.com;
index index.php;
if ($host = 'mydomain.com' ) {
rewrite ^(.*)$ http://www.mydomain.com$1 permanent;
}
location ~ ^(/wp-login.php|/wp-comments-post.php|/xmlrpc.php|/wp-cron.php)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
fastcgi_cache mydomain.com;
fastcgi_cache_valid 200 301 302 304 5m;
fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_ none_match|$host|$request_uri";
fastcgi_hide_header "Set-Cookie";
fastcgi_ignore_headers "Cache-Control" "Expires";
try_files $uri $uri/ @wordpress;
}
location @wordpress {
fastcgi_cache mydomain.com;
fastcgi_cache_valid 200 301 302 304 5m;
fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_ none_match|$host|$request_uri";
fastcgi_hide_header "Set-Cookie";
fastcgi_ignore_headers "Cache-Control" "Expires";
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_NAME /index.php;
}
location ~ .php$ {
fastcgi_cache mydomain.com;
fastcgi_cache_valid 200 301 302 304 5m;
fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_ none_match|$host|$request_uri";
fastcgi_hide_header "Set-Cookie";
fastcgi_ignore_headers "Cache-Control" "Expires";
try_files $uri @wordpress;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}