This is an old revision of the document!


LSCache + Craft CMS and Purge Cache Plugin Configuration

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).

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 Cache Installation Guide and follow the instructions to set the server/virtual host level cache root and cache policy.

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

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.

This is 3rd Party plugin that will help you clear/purge LSCache.

Requirements

Installed and configurated Craft CMS version 3.0.0 or later and LScache. You can find how to configure the cache by this wiki.

Installation

To install the plugin, search for LiteSpeed Cache on the Plugin store, or install manually with the following instructions:

Open your terminal and go to your Craft project:

cd /path/to/project

Then tell Composer to require the plugin:

composer require thoughtfulweb/lite-speed-cache

In the Control Panel, go to Settings → Plugins and click the “Install” button for LiteSpeed Cache.

Usage

On Page Save

Choose whether or not to clear caches by URL, and set the directory where your LSCache folder is located in the plugin settings. If you do not select the per-URL option, all of the cached content in the LSCache folder will be removed on every page save.

Manually

If you just want to nuke the whole cache folder at once, you can go opt to Force Clear LiteSpeed Cache in the plugins CP section. Clicking the clear button will remove all of the cached content in the LSCache folder.

We recommend checking the Github page for example.

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 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/10 14:35
  • by Tihomir