All Projects → litespeedtech → magento2-LiteSpeed_LiteMage

litespeedtech / magento2-LiteSpeed_LiteMage

Licence: GPL-3.0 License
LiteMage Cache Extension for Magento 2

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to magento2-LiteSpeed LiteMage

Wfpc
Magento full page cache warmer
Stars: ✭ 95 (+251.85%)
Mutual labels:  cache, magento
Lesti fpc
Simple Magento Fullpagecache
Stars: ✭ 362 (+1240.74%)
Mutual labels:  cache, magento
component-box
A little component cacher 📦
Stars: ✭ 25 (-7.41%)
Mutual labels:  cache
app-search-magento
A first party module to integrate Elastic App Search in Magento 2.
Stars: ✭ 25 (-7.41%)
Mutual labels:  magento
rebuild-urlrewrite
Rebuild Url Rewrite for magento 2
Stars: ✭ 26 (-3.7%)
Mutual labels:  magento
elara
Elara DB is an easy to use, lightweight key-value database that can also be used as a fast in-memory cache. Manipulate data structures in-memory, encrypt database files and export data. 🎯
Stars: ✭ 93 (+244.44%)
Mutual labels:  cache
blog
MageVision Blog
Stars: ✭ 23 (-14.81%)
Mutual labels:  magento
composer-install
A GitHub Action to streamline installation of PHP dependencies with Composer.
Stars: ✭ 151 (+459.26%)
Mutual labels:  cache
magento2-mobiledetect
Mobile detect change theme and redirect based on device type. Magento 2 module.
Stars: ✭ 26 (-3.7%)
Mutual labels:  magento
DTC
DTC is a high performance Distributed Table Cache system designed by JD.com that offering hotspot data cache for databases in order to reduce pressure of database and improve QPS.
Stars: ✭ 21 (-22.22%)
Mutual labels:  cache
cachepot
cachepot is `sccache` with extra sec, which in turn is `ccache` with cloud storage
Stars: ✭ 106 (+292.59%)
Mutual labels:  cache
transitory
In-memory cache with high hit rates via LFU eviction for Node and browsers. Supports time-based expiration, automatic loading and metrics.
Stars: ✭ 24 (-11.11%)
Mutual labels:  cache
Magento-Extension-Sample-Readme
This is an attempt to develop a default readme file for Magento extensions. It should be included in the Magento extension directory under e.g. app/code/community/Company/ExampleExtension/readme.markdown. The markdown syntax (http://daringfireball.net/projects/markdown/syntax) is used for better and consistent formatting. Please join the discuss…
Stars: ✭ 14 (-48.15%)
Mutual labels:  magento
Spranks StorePickup
This extension provides a new, simple shipping method "Store Pickup".
Stars: ✭ 13 (-51.85%)
Mutual labels:  magento
valid8
Valid8 - Super Simple Bootstrap Form Valiation
Stars: ✭ 17 (-37.04%)
Mutual labels:  magento
vscode-magento-wizard
Helps develop Magento 2 extensions using VSCode
Stars: ✭ 22 (-18.52%)
Mutual labels:  magento
salad
Asynchronous Scala Redis Client supporting Sentinel and Redis Cluster
Stars: ✭ 14 (-48.15%)
Mutual labels:  cache
hitbox
A high-performance caching framework suitable for single-machine and for distributed applications in Rust
Stars: ✭ 61 (+125.93%)
Mutual labels:  cache
eloquent-cache
Easily cache your Laravel's Eloquent models.
Stars: ✭ 55 (+103.7%)
Mutual labels:  cache
node-backend-template
A template for NodeJS backend projects
Stars: ✭ 19 (-29.63%)
Mutual labels:  cache

magento2-LiteSpeed_LiteMage

Description

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.

Prerequisites

LiteSpeed Web Server Enterprise Edition with Magento 2 set up and working.

PHP

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 /usr/local/bin/ or /usr/bin/.

Example using PHP 7 with which returning /usr/bin/php:

mv /usr/bin/php /usr/bin/php-orig
ln -s /usr/local/lsws/lsphp70/bin/php /usr/bin/php

Run php -v afterwards. If the steps were done correctly, the version number should match the server's php version.

Installation

The following steps assume that the Prerequisites mentioned above are met.

  1. Access a terminal as the Magento directory owner (e.g. "user1") and cd to the Magento 2 root directory. If logged in as root, do su user1 first.

  2. Set the store to developer mode:

    php bin/magento deploy:mode:set developer
    
  3. Download the zip package file from this repository.

  4. Unzip the source package. The unzipped directory should be named magento2-LiteSpeed_LiteMage-master.

  5. In the Magento 2 root directory, run the following command to create the needed directories:

    mkdir -p app/code/Litespeed/Litemage
    
  6. Move the contents from the GitHub directory to the newly created directory:

    mv /path/to/magento2-LiteSpeed_LiteMage-master/* app/code/Litespeed/Litemage/
    
  7. Confirm that the contents' owner is consistent with the other magento store files.

  8. Enable LiteMage 2 in magento:

    php bin/magento module:enable Litespeed_Litemage
    
  9. Upgrade the Magento setup:

    php bin/magento setup:upgrade
    
  10. Recompile code

    php bin/magento setup:di:compile
    
  11. Once finished, delete var/di/relations.ser to work around a Magento bug. link

    rm var/di/relations.ser
    
  12. If desired, switch back to production mode. The previous step may need to be repeated after the mode switch.

Enable LiteMage after installation:

  1. In the Magento 2 root directory's .htaccess file, add the following lines:

    <IfModule LiteSpeed>
    LiteMage on
    </IfModule>
    
  2. Log into the Magento admin page.

  3. In Store -> Configuration -> Advanced -> System, make sure LiteMage is enabled and the Full Page Cache setting has LiteMage selected.

  4. In System -> Cache Management, refresh configurations and page cache.

  5. Visit and refresh a page that should be cache enabled. Look for the LiteMage related response headers.

    Example:

    X-LiteSpeed-Cache: litemage,hit
    

Configuration

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.

Todo

  • Add Cache Warm up
  • Add Customizable Configurations
  • Add Unit Tests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].