Mã:
server { listen 80; server_name example.com www.example.com; root /usr/local/www/example.com; access_log /var/log/nginx/example.access.log; error_log /var/log/nginx/example.error.log; # the next two location blocks are to ensure gzip encoding is turned off # for the serving of already gzipped w3tc page cache # normally gzip static would handle this but W3TC names them with _gzip location ~ /wp-content/cache/page_enhanced.*html$ { expires max; charset utf-8; add_header Vary "Accept-Encoding, Cookie"; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } location ~ /wp-content/cache/page_enhanced.*gzip$ { expires max; gzip off; types {} charset utf-8; default_type text/html; add_header Vary "Accept-Encoding, Cookie"; add_header Content-Encoding gzip; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } location / { if (-f $request_filename) { break; } set $w3tc_rewrite 1; if ($request_method = POST) { set $w3tc_rewrite 0; } if ($query_string != "") { set $w3tc_rewrite 0; } set $w3tc_rewrite2 1; if ($request_uri !~ \/$) { set $w3tc_rewrite2 0; } if ($request_uri ~* "(sitemap(_index)?\.xml(\.gz)?|[a-z0-9_\-]+-sitemap([0-9]+)?\.xml(\.gz)?)") { set $w3tc_rewrite2 1; } if ($w3tc_rewrite2 != 1) { set $w3tc_rewrite 0; } if ($http_cookie ~* "(comment_author|wp\-postpass|wordpress_\[a\-f0\-9\]\+|wordpress_logged_in)") { set $w3tc_rewrite 0; } if ($http_user_agent ~* "(W3\ Total\ Cache/0\.9\.2\.4)") { set $w3tc_rewrite 0; } set $w3tc_ua ""; set $w3tc_ref ""; set $w3tc_ssl ""; set $w3tc_enc ""; if ($http_accept_encoding ~ gzip) { set $w3tc_enc _gzip; } set $w3tc_ext ""; if (-f "$document_root/wp-content/cache/page_enhanced/$host/$request_uri/_index$w3tc_ua$w3tc_ref$w3tc_ssl.html$w3tc_enc") { set $w3tc_ext .html; } if ($w3tc_ext = "") { set $w3tc_rewrite 0; } if ($w3tc_rewrite = 1) { rewrite ^ "/wp-content/cache/page_enhanced/$host/$request_uri/_index$w3tc_ua$w3tc_ref$w3tc_ssl$w3tc_ext$w3tc_enc" last; } if (!-e $request_filename) { rewrite ^ /index.php last; } } location /search { limit_req zone=kbeezieone burst=3 nodelay; rewrite ^ /index.php; } fastcgi_intercept_errors off; location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { expires max; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } include php.conf; # You may want to remove the robots line from drop to use a virtual robots.txt # or create a drop_wp.conf tailored to the needs of the wordpress configuration include drop.conf; }
2. WordPress w/ WP Supercache (Full-On mode)
Mã:
server { listen 80; server_name example.com www.example.com; root /usr/local/www/example.com; access_log /var/log/nginx/example.access.log; error_log /var/log/nginx/example.error.log; location / { # This line when enabled will use Nginx's gzip static module gzip_static on; # Disables serving gzip content to IE 6 or below gzip_disable "MSIE [1-6]\."; # Sets the default type to text/html so that gzipped content is served # as html, instead of raw uninterpreted data. default_type text/html; # does the requested file exist exactly as it is? if yes, serve it and stop here if (-f $request_filename) { break; } # sets some variables to help test for the existence of a cached copy of the request set $supercache_file ''; set $supercache_uri $request_uri; # IF the request is a post, has a query attached, or a cookie # then don't serve the cache (ie: users logged in, or posting comments) if ($request_method = POST) { set $supercache_uri ''; } if ($query_string) { set $supercache_uri ''; }
Đăng nhận xét Blogger Facebook