5 changed files with 142 additions and 78 deletions
@ -1,63 +0,0 @@ |
|||||
#move next 3 lines to /etc/nginx/nginx.conf if you want to use fastcgi_cache across many sites |
|
||||
fastcgi_cache_path /var/run/nginx-cache levels=1:2 keys_zone=WORDPRESS:500m inactive=60m; |
|
||||
fastcgi_cache_key "$scheme$request_method$host$request_uri"; |
|
||||
fastcgi_cache_use_stale error timeout invalid_header http_500; |
|
||||
|
|
||||
server { |
|
||||
server_name example.com www.example.com; |
|
||||
|
|
||||
access_log /var/log/nginx/example.com.access.log; |
|
||||
error_log /var/log/nginx/example.com.error.log; |
|
||||
|
|
||||
root /var/www/example.com/htdocs; |
|
||||
index index.php; |
|
||||
|
|
||||
set $no_cache 0; |
|
||||
|
|
||||
# POST requests and urls with a query string should always go to PHP |
|
||||
if ($request_method = POST) { |
|
||||
set $no_cache 1; |
|
||||
} |
|
||||
if ($query_string != "") { |
|
||||
set $no_cache 1; |
|
||||
} |
|
||||
|
|
||||
# Don't cache uris containing the following segments |
|
||||
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") { |
|
||||
set $no_cache 1; |
|
||||
} |
|
||||
|
|
||||
# Don't use the cache for logged in users or recent commenters |
|
||||
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { |
|
||||
set $no_cache 1; |
|
||||
} |
|
||||
|
|
||||
location / { |
|
||||
try_files $uri $uri/ /index.php?$args; |
|
||||
} |
|
||||
|
|
||||
location ~ .php$ { |
|
||||
try_files $uri /index.php; |
|
||||
include fastcgi_params; |
|
||||
#fastcgi_pass 127.0.0.1:9000; |
|
||||
fastcgi_pass unix:/var/run/php5-fpm.sock; |
|
||||
|
|
||||
fastcgi_cache_bypass $no_cache; |
|
||||
fastcgi_no_cache $no_cache; |
|
||||
|
|
||||
fastcgi_cache WORDPRESS; |
|
||||
fastcgi_cache_valid 60m; |
|
||||
} |
|
||||
|
|
||||
location ~ /purge(/.*) { |
|
||||
fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; |
|
||||
} |
|
||||
|
|
||||
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { |
|
||||
access_log off; log_not_found off; expires max; |
|
||||
} |
|
||||
|
|
||||
location = /favicon.php { access_log off; log_not_found off; } |
|
||||
location = /robots.txt { access_log off; log_not_found off; } |
|
||||
location ~ /\. { deny all; access_log off; log_not_found off; } |
|
||||
} |
|
@ -0,0 +1,54 @@ |
|||||
|
server { |
||||
|
|
||||
|
server_name example.com www.example.com; |
||||
|
|
||||
|
access_log /var/log/nginx/example.com.access.log; |
||||
|
error_log /var/log/nginx/example.com.error.log; |
||||
|
|
||||
|
root /var/www/example.com/htdocs; |
||||
|
index index.php index.htm index.html; |
||||
|
|
||||
|
set $skip_cache 0; |
||||
|
|
||||
|
# POST Requests And Urls With A Query String Should Always Go To PHP |
||||
|
if ($request_method = POST) { |
||||
|
set $skip_cache 1; |
||||
|
} |
||||
|
|
||||
|
if ($query_string != "") { |
||||
|
set $skip_cache 1; |
||||
|
} |
||||
|
|
||||
|
# Don't Cache Uris Containing The Following Segments |
||||
|
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") { |
||||
|
set $skip_cache 1; |
||||
|
} |
||||
|
|
||||
|
# Don't Use The Cache For Logged In Users Or Recent Commenters |
||||
|
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { |
||||
|
set $skip_cache 1; |
||||
|
} |
||||
|
|
||||
|
# Use Cached Or Actual File If They Exists, Otherwise Pass Request To WordPress |
||||
|
location / { |
||||
|
try_files $uri $uri/ /index.php?$args; |
||||
|
} |
||||
|
|
||||
|
location ~ .php$ { |
||||
|
try_files $uri /index.php; |
||||
|
include fastcgi_params; |
||||
|
fastcgi_pass php; |
||||
|
|
||||
|
fastcgi_cache_bypass $skip_cache; |
||||
|
fastcgi_no_cache $skip_cache; |
||||
|
|
||||
|
fastcgi_cache WORDPRESS; |
||||
|
fastcgi_cache_valid 60m; |
||||
|
} |
||||
|
|
||||
|
location ~ /purge(/.*) { |
||||
|
fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; |
||||
|
} |
||||
|
|
||||
|
include /etc/nginx/common/locations.conf; |
||||
|
} |
Loading…
Reference in new issue