Hello friends.
I’d like to enable fastcgi caching for a Trellis project. The wordpress site config:
...
cache:
enabled: true
duration: 30s
skip_cache_uri: /wp-admin/|/wp-json/|/xmlrpc.php
skip_cache_cookie: comment_author|wordpress_[a-f0-9]+
background_update: "on"
Caching is enabled, set for 30 seconds:
location ~ \.php$ {
try_files $uri /index.php;
# Fastcgi cache settings
fastcgi_cache wordpress;
fastcgi_cache_valid 30s;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_cache_background_update on;
include fastcgi_params;
fastcgi_param SERVER_NAME $host;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_pass unix:/var/run/php-fpm-wordpress.sock;
}
But every request (within seconds of each other) seems to be a “MISS”:
curl -I https://staging.example.com
HTTP/2 200
server: nginx
date: Wed, 08 Apr 2026 18:40:35 GMT
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
set-cookie: PHPSESSID=c613585bb092482bf0fcf5c681a71375; path=/; HttpOnly
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
permissions-policy: private-state-token-redemption=(self "https://www.google.com" "https://www.gstatic.com" "https://recaptcha.net" "https://challenges.cloudflare.com" "https://hcaptcha.com"), private-state-token-issuance=(self "https://www.google.com" "https://www.gstatic.com" "https://recaptcha.net" "https://challenges.cloudflare.com" "https://hcaptcha.com")
link: <https://staging.example.com/wp-json/>; rel="https://api.w.org/"
link: <https://staging.example.com/wp-json/wp/v2/pages/5>; rel="alternate"; title="JSON"; type="application/json"
link: <https://staging.example.com/>; rel=shortlink
fastcgi-cache: MISS
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
x-ua-compatible: IE=Edge
content-security-policy: frame-ancestors 'self' *
x-frame-options: SAMEORIGIN
x-robots-tag: noindex, nofollow
Any suggestions?