Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
litespeed_wiki:cache:no-plugin-craft [2017/04/14 13:28]
Jackson Zhang [I set rewrite rules according to the wiki, but why my admin pages being cached?]
litespeed_wiki:cache:no-plugin-craft [2018/05/10 15:49]
Lisa Clarke
Line 1: Line 1:
-====== LSCache + Craft CMS Configuration ====== +#​REDIRECT ​litespeed_wiki:​cache:​craftcms-lscache-purge-plugin
- +
-LSCache, similar to Varnish cache, is a simpler and more efficient page caching solution built-in to LiteSpeed Web Server. When used in conjunction with Craft CMS, you can expect significant performance gains with a quick and easy setup. Cache management is also made significantly easier and more flexible. Rewrite rules can still be used to customize LSCache'​s behavior. +
- +
-Below are some recommended configurations to enable LSCache and get it working with your Craft CMS site(s). +
- +
-===== Configure Server/​Virtual Host Level Cache Root And Cache Policy ===== +
- +
-Server/​VirtualHost level cache storage needs to be configured properly for your environment. Select your server setup from the **Web Server Configuration** section of our **[[litespeed_wiki:​cache:​common_installation#​web_server_configuration|LiteSpeed Cache Installation Guide]]** and follow the instructions to set the server/​virtual host level cache root and cache policy. +
- +
-===== Rewrite rules ===== +
- +
-Rewrite rules should be added to your .htaccess file, located in the document root of your website. It may contain the following:  +
-  <​IfModule mod_rewrite.c>​ +
-        RewriteEngine On +
-        # Send would-be 404 requests to Craft +
-        RewriteCond %{REQUEST_FILENAME} !-f +
-        RewriteCond %{REQUEST_FILENAME} !-d +
-        RewriteCond %{REQUEST_URI} !^/​(favicon\.ico|apple-touch-icon.*\.png)$ [NC] +
-        RewriteRule (.+) index.php?​p=$1 [QSA,L] +
-  </​IfModule>​ +
-Place rewrite ruls on the top of the existing rules to cache all URLs for 2 mins excluding ''/​admin''​ URLs  +
- +
-  ########## Begin - Litespeed cache +
-  <​IfModule LiteSpeed>​ +
-    RewriteEngine On +
-    RewriteCond %{REQUEST_METHOD} ^HEAD|GET$ +
-    RewriteCond %{ORG_REQ_URI} !/admin +
-    RewriteCond %{ORG_REQ_URI} !/​index.php/​admin ​    +
-    RewriteRule .* - [E=Cache-Control:​max-age=120] +
-  </​IfModule>​ +
-  ########## End - Litespeed cache +
-  +
- +
-===== Verify Cache Setup ===== +
- +
-Open your browsers inspector, by right-clicking and selecting "​Inspector"​ or pressing the F12 key, and refresh the page. Under the "​Network"​ tab look for the HTML page you just loaded and clikc on it to view it's response header.  +
- +
-In the response header you should see ''​X-LiteSpeed-Cache:​ hit''​ to indicate that the page was served from cache successfully. If you see ''​X-LiteSpeed-Cache:​ miss'',​ reload the page and check again.  +
- +
-===== Deleting Outdated Cache Files Using A Cron Job ===== +
- +
-**Note:** LSWS will now delete expired cache files automatically,​ making this step optional. A cron job can still be set up to help ensure that the cache works as expected, clearing out pages that may have been misconfigured to have a very long TTL. +
- +
-A cron job should be set to clear out old cache files that are past the set **Time To Live (TTL)**.  +
- +
-To do this, you should run the crontab either as the root user or as the cache owner for self management. +
- +
-<​code>​crontab -e</​code>​ +
- +
-The virtual host cache root directory is normally located in **/​home/​$USER/​lscache** for shared hosting users or **/​tmp/​diskspace** for dedicated servers. +
- +
-<​code>​*/​10 * * * * root find /​virtualhost/​cache/​root/​directory/ ​-type f -mmin +8 -delete 2>/​dev/​null</​code>​ +
- +
-**Note:** This cron job deletes cached files that are more than 8 minutes old every 10 minutes. Since the cache TTL is set at 120 seconds (2 minutes), it is safe to delete these files as they are way past their TTL. +
- +
-===== Troubleshooting ===== +
-==== I set rewrite rules according to the wiki, but why my admin pages being cached? ==== +
- The lscache could be incorrectly enabled on server level globally. You can either correct the wrong lscache setting "​Enable Public Cache" to "not set" or "​no"​ according to [[litespeed_wiki:​cache:​common_installation#​web_server_configuration|this recommendations]],​ or just disable global setting for a particular virtual host in .htaccess first before the rewrite rules. +
- +
-  ########## Begin - Litespeed cache +
-  <​IfModule LiteSpeed>​ +
-   ​RewriteEngine On +
-   ​CacheDisable public / +
-   ​RewriteCond %{REQUEST_METHOD} ^HEAD|GET$ +
-   ​RewriteCond %{ORG_REQ_URI} !/admin +
-   ​RewriteCond %{ORG_REQ_URI} !/​index.php/​admin ​    +
-   ​RewriteRule .* - [E=Cache-Control:​max-age=120] +
-  </​IfModule>​ +
-  ########## End - Litespeed cache +
- +
-Note: The "​CacheDisable public /" directive is used to help protect against globally enabled caching. The Rewrite rules will enable cache. +
  • Admin
  • Last modified: 2018/05/15 20:39
  • by Jackson Zhang