From e99ec036b8938af8b6f5ebc7d2d2fd38035691b4 Mon Sep 17 00:00:00 2001 From: Mitesh Shah Date: Tue, 2 Jul 2013 15:38:00 +0530 Subject: [PATCH] WPSUBDIR Settings For Super & Fastcgi --- usr/share/easyengine/nginx/wpsubdir/wpfc.conf | 73 +++++++++++++++++++ usr/share/easyengine/nginx/wpsubdir/wpsc.conf | 64 ++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 usr/share/easyengine/nginx/wpsubdir/wpfc.conf create mode 100644 usr/share/easyengine/nginx/wpsubdir/wpsc.conf diff --git a/usr/share/easyengine/nginx/wpsubdir/wpfc.conf b/usr/share/easyengine/nginx/wpsubdir/wpfc.conf new file mode 100644 index 00000000..32c5762a --- /dev/null +++ b/usr/share/easyengine/nginx/wpsubdir/wpfc.conf @@ -0,0 +1,73 @@ +# WPSUBDIR FAST CGI NGINX CONFIGURATION +server { + + # Uncomment The Following Line For Domain Mapping + # listen 80 default_server; + + server_name example.com *.example.com; + + # Uncomment The Following Line For Domain Mapping + #server_name_in_redirect off; + + 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; + + if (!-e $request_filename) { + + # Redirect wp-admin To wp-admin/ + rewrite /wp-admin$ $scheme://$host$uri/ permanent; + + # Redirect wp-* Files/Folders + rewrite ^(/[^/]+)?(/wp-.*) $2 last; + + # Redirect Other PHP Files + rewrite ^(/[^/]+)?(/.*\.php) $2 last; + } + + 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; +} diff --git a/usr/share/easyengine/nginx/wpsubdir/wpsc.conf b/usr/share/easyengine/nginx/wpsubdir/wpsc.conf new file mode 100644 index 00000000..6b07abcd --- /dev/null +++ b/usr/share/easyengine/nginx/wpsubdir/wpsc.conf @@ -0,0 +1,64 @@ +# WPSUBDIR WP SUPER CACHE NGINX CONFIGURATION +server { + + # Uncomment The Following Line For Domain Mapping + # listen 80 default_server; + + server_name example.com *.example.com; + + # Uncomment The Following Line For Domain Mapping + #server_name_in_redirect off; + + 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; + + if (!-e $request_filename) { + + # Redirect wp-admin To wp-admin/ + rewrite /wp-admin$ $scheme://$host$uri/ permanent; + + # Redirect wp-* Files/Folders + rewrite ^(/[^/]+)?(/wp-.*) $2 last; + + # Redirect Other PHP Files + rewrite ^(/[^/]+)?(/.*\.php) $2 last; + } + + set $cache_uri $request_uri; + + # POST Requests And Urls With A Query String Should Always Go To PHP + if ($request_method = POST) { + set $cache_uri 'null cache'; + } + + if ($query_string != "") { + set $cache_uri 'null cache'; + } + + # 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 $cache_uri 'null cache'; + } + + # Don't Use The Cache For Logged In Users Or Recent Commenters + if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") { + set $cache_uri 'null cache'; + } + + # Use Cached Or Actual File If They Exists, Otherwise Pass Request To WordPress + location / { + try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args; + } + + location ~ .php$ { + try_files $uri /index.php; + include fastcgi_params; + fastcgi_pass php; + } + + include /etc/nginx/common/locations.conf; + +}