2017-09-20 3 views
0

Ich habe eine Website mit Wordpress. Diese Website ist auf Nginx & php-fpm gehostet. Ich habe CloudFront hinzugefügt, um die Leistung zu erhöhen und die Ursprungsserverlast zu verringern.Wie konfiguriert man Nginx mit CloudFront, um vom Caching von CloudFront zu profitieren?

Allerdings kann ich in der Chrome Developer Tools-Konsole sehen, dass alle Ressourcen Miss from CloudFront Wert in x-cache Header hat.

Ich bin mir nicht sicher, wie ich Nginx & CloudFront richtig funktionieren sollte und profitieren von Caching.

Ich glaube, es geht um richtige Header, die von Nginx (zB Cache-Control: public für Bilder?) Eingestellt werden sollte. Ich kann keine Beispiele finden, die alle Fälle abdecken würden und Wordpress Admin Panel nicht stören würden (dieses sollte nicht im Cache gespeichert werden, oder?).

Antwort

1

Eine schnelle Lösung könnte sein, die WP Super Cache plugin zu installieren; hat CDN-Unterstützung neben anderen Dingen.

In der Nginx Seite Sie so etwas wie dies für statische Inhalte tun könnten:

location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { 
    expires 30d; 
    add_header Pragma public; 
    add_header Cache-Control "public"; 
} 

Sie können so viele Richtlinien hinzufügen, nicht nur Bilder necesary, zum Beispiel:

location ~* \.(?:cur|gz|svg|mp4|ogg|ogv|webm|htc)$ { 
    access_log off; 
    add_header Cache-Control "max-age=2592000"; 
    #... more options 
} 

Der ?: Präfix ist eine "Nicht-Capturing" -Markierung, was bedeutet, dass das Muster nicht in $1 erfasst werden muss, was die Leistung verbessern könnte.

Sie können weitere Informationen über die Nginx expires option here finden.

+0

Vielen Dank. Das ist sehr hilfreich. Ich habe jedoch das Gefühl, dass Ihre Antwort etwas verbessert werden könnte. Ich meine, "ico | css | js | gif | jpe? G | png" sind nicht die einzigen, die ich cachen sollte, oder? (Oder sind?) – Defozo

+0

richtig, und das ist im Grunde, was das WP-Plug-in tun wird, indem Sie statischen Inhalt Ihrer Seiten erzeugen. – nbari

+0

Ich habe die Zeilen hinzugefügt, die Sie angegeben haben, aber obwohl die Ressourcen neue Header haben, haben sie immer noch 'Miss from CloudFront'. Braucht es mehr Zeit für die Bewerbung? – Defozo

Verwandte Themen