LiteMage Full Page Cache for LiteSpeed Web Server
The LiteMage Cache module provides an improved caching solution alternative to the PageCache module and Varnish Cache. The module will replace the Varnish option to the cache selector in the administrator interface for easy switching.
For most use cases, LiteMage Cache can improve your stores' performance right out of the box. LiteMage Cache also reduces the complexity of your stack; only the LiteMage Extension and LiteSpeed Web Server are required*. There is no need for an NGINX reverse proxy nor a Varnish Cache instance because the server can handle HTTPS and HTTP/2 requests and cache the pages all in one application.
LiteMage Cache operates by taking information from Magento and instructing the LiteSpeed server on how to cache the page. Once the server knows how to cache it, future requests to the same page will be served directly from the server. Requests will never hit the Magento backend until a change occurs.
* For clustered setups, LiteSpeed Load Balancer is needed.
LiteSpeed Web Server Enterprise Edition with Magento 2 set up and working.
Magento 2 requires PHP versions 7.0.2+, 5.6.x, or 5.5.x. In the command line, type
php -v to get the php version used by the command line interface. This version may be different than the one used by the server.
If the version number does not match the one used within the server, there may be some compatibility issues.
Run the command
which php to get the directory of the php binary. Then, change the current binary name to something different as a backup (e.g.
mv php php-orig). Lastly, symbolic link or copy the binary installed in the LSWS directory to the directory returned by the
which command. If the which command doesn't return anything, we recommend using
Example using PHP 7 with
mv /usr/bin/php /usr/bin/php-orig ln -s /usr/local/lsws/lsphp70/bin/php /usr/bin/php
php -v afterwards. If the steps were done correctly, the version number should match the server's php version.
The following steps assume that the Prerequisites mentioned above are met.
Set the store to developer mode:
php bin/magento deploy:mode:set developer
In the Magento 2 root directory, run the following command to create the needed directories:
mkdir -p app/code/Litespeed/Litemage
Move the contents from the GitHub directory to the newly created directory:
mv /path/to/magento2-LiteSpeed_LiteMage-master/* app/code/Litespeed/Litemage/
Enable LiteMage 2 in magento:
php bin/magento module:enable Litespeed_Litemage
Upgrade the Magento setup:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
Once finished, delete
var/di/relations.ser to work around a Magento bug. link
In the Magento 2 root directory's .htaccess file, add the following lines:
<IfModule LiteSpeed> LiteMage on </IfModule>
Visit and refresh a page that should be cache enabled. Look for the LiteMage related response headers.
No further changes to your Magento 2 configurations should be necessary as LiteMage honors the same cacheable settings as varnish in the layout xml files.