
Ich habe Nginx als Frontend-Proxy für Apache installiert, wobei Apache PHP und Nginx statische Dateien bedient. Ich habe ein Problem damit, Nginx so zu konfigurieren, dass die Ausgabe von PHP in einer statischen Datei zwischengespeichert wird. Ich habe es mit proxy_cache versucht, aber offensichtlich mache ich etwas falsch.
Hier ist meine Basiskonfiguration:
server {
listen 80;
root /var/www/web;
index index.php index.html index.htm;
server_name web.com;
location / {
try_files $uri $uri/ /index.php;
}
# cache static files
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
access_log off;
add_header Cache-Control public;
}
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
# Set header to be what we requested
proxy_set_header Host $host;
# Set proxy_cache expiry time
proxy_cache_valid 200 302 5m;
proxy_cache_valid 404 1m;
proxy_cache_valid 301 1h;
# Need this for snooping with tcpdump (turns off upstream compression)
proxy_set_header Accept-Encoding "";
# Set real IP header (needed for client IP detection in apache)
proxy_set_header X-Real-IP $remote_addr;
# Explicitly allow critical headers
proxy_pass_header Set-Cookie;
# Prevent 304 responses being returned from Apache and cached by nginx
proxy_set_header If-None-Match "";
}
location ~ /\.ht {
deny all;
}
}
Antwort1
SatzProxy-Cache-Pfadin Ihrem http{} - Kontext und definieren Sie Ihre Zone und Parameter
http {
...
proxy_cache_path /tmp/cache/blue blue:100m ...;
proxy_cache_path /tmp/cache/white white:100m ...;
...
}
SatzProxy-Cachezone/off im entsprechenden Server/Standort-Kontext und deine Optionen sowie
zB Cachepfade global definieren und für jeden Server/Standort aktivieren/deaktivieren
location /blue {
proxy_cache blue;
proxy_cache_...
}
location /white {
proxy_cache white;
proxy_cache_...
}
location /red {
proxy_cache off;
proxy_cache_...
}
Vorsicht, Ihre zwischengespeicherten Dateien liegen im Binärformat vor