Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
litespeed_wiki:config:enable_pagespeed [2017/10/10 13:05]
Eric Leu [Enabling PageSpeed for LSWS Using Plesk]
litespeed_wiki:config:enable_pagespeed [2020/03/24 15:03]
Joshua Reynolds Revisions to initial warning
Line 1: Line 1:
 ====== How to Enable the PageSpeed Module on LSWS ====== ====== How to Enable the PageSpeed Module on LSWS ======
 +**IMPORTANT!! Disabling PageSpeed module in full is now recommended. We have seen that the PageSpeed module can be a little buggy where it may cause stability issues and this won't be addressed since it hasn't been maintained for years. Also there is not enough performance benefits we can see to make up for it consuming a lot of server resources. It may possibly break some of the LiteSpeed cache solutions, such as LiteMage etc. as explained below.**
  
-Mod_pagespeed is a web server module developed by Google, which automatically applies chosen filters to pages and associated assets, such as stylesheets,​ JavaScript, and HTML files, as well as to images and website cache requirements. It does not require modifications to existing content or workflow, meaning that all internal optimizations and changes to files are made on the server side, presenting modified files directly to the user. +Mod_pagespeed is a web server module ​that was developed by Google. It automatically applies chosen filters to pages and associated assets ​(stylesheets,​ JavaScript, and HTML files), as well as to images and website cache requirements. It does not require modifications to existing content or workflow, meaning that all internal optimizations and changes to files are made on the server side, presenting modified files directly to the user.  
 + 
 +Since version 5.2, LSWS provides PageSpeed support. It is possible to enable both PageSpeed and LSCache together in theory, but we don't recommend it. 
 + 
 +**PageSpeed and LSCache (including LiteMage and all other full page caches) should never be used together in a real production environment.** LSCache is recommended to boost your site performance. When a page is cached, it can no longer be run through PageSpeed for HTML improvements,​ though the PageSpeed optimizations to CSS, JS, and image files will be in effect. Most importantly,​ when PageSpeed is used, it generates different output for different browsers, which means that the output is not cache friendly
  
-Since version 5.2, LSWS provides PageSpeed support. PageSpeed and LSCache can be enabled together and work at the same time. However, when a page gets cached, it can no longer be run through PageSpeed for HTML improvements. The PageSpeed optimizations to CSS, JS, and image files will still be in effect. 
  
 ===== Requirements ===== ===== Requirements =====
Line 25: Line 29:
 To enable PageSpeed, ''​loadModule''​ and ''​FileCachePath''​ are required at the server level. ''​ModPagespeedFileCachePath''​ should not be set at the virtual host level. Enabling independent PageSpeed file cache for each vhost is very costly. It takes a lot of resources and should be avoided in shared hosting environments. ''​ModPageSpeed On''​ at the server level will turn on PageSpeed server wide. This is not recommended for shared servers, as PageSpeed can be resource heavy and may negatively impact performance. ​ To enable PageSpeed, ''​loadModule''​ and ''​FileCachePath''​ are required at the server level. ''​ModPagespeedFileCachePath''​ should not be set at the virtual host level. Enabling independent PageSpeed file cache for each vhost is very costly. It takes a lot of resources and should be avoided in shared hosting environments. ''​ModPageSpeed On''​ at the server level will turn on PageSpeed server wide. This is not recommended for shared servers, as PageSpeed can be resource heavy and may negatively impact performance. ​
  
-**We recommend setting ''​ModPageSpeed unplugged|off''​ at the server level, and ''​ModPageSpeed on''​ for the vhosts which need it.**+**We recommend setting ''​ModPageSpeed unplugged|off''​ at the server level, and ''​ModPageSpeed on''​ for the vhosts ​or directories ​which need it.**
  
-''​ModPageSpeed unplugged''​ bypasses ''​mod_pagespeed''​ hooks.\\ ''​ModPageSpeed off''​ goes through ''​mod_pagespeed''​ hooks with PageSpeed turned off.+  * ''​ModPageSpeed unplugged''​ bypasses ''​mod_pagespeed''​ hooks. 
 +  * ''​ModPageSpeed off''​ goes through ''​mod_pagespeed''​ hooks with PageSpeed turned off.
  
-You can set ''​ModPagespeed off''​ in the Apache main configuration, then, you can turn it on via virutal ​host configuration or ''​.htaccess''​.+You can set ''​ModPagespeed off''​ in the Apache main configuration ​and you can use ''​ModPageSpeed On''​ to turn it on via virtual ​host configuration or ''​.htaccess'' ​file.
  
 ==== Enabling PageSpeed for LSWS Using cPanel ==== ==== Enabling PageSpeed for LSWS Using cPanel ====
Line 35: Line 40:
 === Install PageSpeed Through Existing cPanel RPM Package === === Install PageSpeed Through Existing cPanel RPM Package ===
  
-Installing the cPanel EA4 package ''​ea-apache24-mod_pagespeed''​ will enable PageSpeed for Apache and LiteSpeed at the same time.+Installing the cPanel EA4 package ''​ea-apache24-mod_pagespeed''​ will enable PageSpeed for Apache and LiteSpeed at the same time. ''​ea-apache24-mod_pagespeed''​ package is in EA4 Experimental repo at the time of this writing so you will need to enable EA4 Experimental repo firstly. Some server may not have EA4-experimental.repo installed on the server, you can create one.  
 + 
 +  cd /​etc/​yum.repos.d 
 +  vi EA4-experimental.repo 
 + 
 +  [EA4-experimental] 
 +  name=EA4 Experimental ( EasyApache 4 ) 
 +  mirrorlist=http://​httpupdate.cpanel.net/​ea4-experimental-c$releasever-$basearch-mirrorlist 
 +  gpgcheck=1 
 +  gpgkey=https://​securedownloads.cpanel.net/​cPanelPublicRPMKey.asc 
 +  enabled=1 
 +  cost=50 
 +  ​
  
   yum install ea-apache24-mod_pagespeed   yum install ea-apache24-mod_pagespeed
Line 80: Line 97:
 === Method1: Install PageSpeed Through LSWS build-in module=== === Method1: Install PageSpeed Through LSWS build-in module===
 For server level PATH: For server level PATH:
-Access to ''/​etc/​httpd/​conf.d/''​ +Access to ''/​etc/​httpd/​conf.d/'' ​\\
 For single vhost PATH: For single vhost PATH:
-Access to ''/​var/​www/​vhosts/​system/<​domain_name>/​conf/''​ +Access to ''/​var/​www/​vhosts/​system/<​domain_name>/​conf/'' ​\\ 
-add pagespeed.conf with following command:+Create ''​pagespeed.conf'' ​with following command:
 <​code>​ <​code>​
 <​IfModule Litespeed>​ <​IfModule Litespeed>​
Line 110: Line 126:
 Default PageSpeed module settings are enabled. ​ Default PageSpeed module settings are enabled. ​
  
-==== Enabling PageSpeed for LSWS Through Apache'​s Configuration ​====+=== Enabling PageSpeed for LSWS Through Apache'​s Configuration ​on Plesk ===
 If you use this method, you don't need to install any packages, and it will work on LSWS. If you use this method, you don't need to install any packages, and it will work on LSWS.
 === Set Server Level PageSpeed File === === Set Server Level PageSpeed File ===
-Create a file named ''​pagspeed.conf''​ in the following directory depending upon your system:+Create a file named ''​pagespeed.conf''​ in the following directory depending upon your system:
   * For CentOS, the ''/​etc/​httpd/​conf.d/''​ directory   * For CentOS, the ''/​etc/​httpd/​conf.d/''​ directory
   * For Debian, the ''/​etc/​apache2/​conf.d/''​ directory   * For Debian, the ''/​etc/​apache2/​conf.d/''​ directory
   * For Ubuntu, the ''/​etc/​apache2/​conf-enabled''​ directory   * For Ubuntu, the ''/​etc/​apache2/​conf-enabled''​ directory
  
-This ''​pagspeed.conf''​ file should contain the following:+This ''​pagespeed.conf''​ file should contain the following:
  
 <​code>​ <​code>​
Line 164: Line 180:
  
 ===== Enabling PageSpeed Module Without a Control Panel Environment ===== ===== Enabling PageSpeed Module Without a Control Panel Environment =====
-==== Set Server Level PageSpeed File Path ====+==== Activate PageSpeed at Server Level & Set PageSpeed File Path ====
   * Navigate to **WebAdmin Console > Configuration > Server > PageSpeed**   * Navigate to **WebAdmin Console > Configuration > Server > PageSpeed**
   * Set **Activate PageSpeed** to ''​Yes''​   * Set **Activate PageSpeed** to ''​Yes''​
-  * Set **Enable PageSpeed** to ''​Yes''​ +  * Set **Enable PageSpeed** to ''​Yes'' ​(optional since could also enable per virtual host)  
-  * Set **PageSpeed Settings** to ''​pagespeed FileCachePath /​tmp/​lshttpd/​pagespeed;''​+  * Set **PageSpeed Settings** to ''​pagespeed FileCachePath /​tmp/​lshttpd/​pagespeed;'' ​and add any [[ https://​www.modpagespeed.com/​doc/​config_filters| additional rule settings ]] on separate lines
 {{:​litespeed_wiki:​config:​pagespeed-server.png?​|}} {{:​litespeed_wiki:​config:​pagespeed-server.png?​|}}
-  ​For more rule settings, please see [[ https://​www.modpagespeed.com/​doc/​config_filters| ​Rewrite level]]+ 
 + 
 +==== Enable PageSpeed at Virtual Host Level ==== 
 +  ​Navigate to **WebAdmin Console > Configuration > Virtual Hosts > View/Edit > PageSpeed** 
 +  * Set **Enable PageSpeed** to ''​Yes''​  
 +  * Add [[ https://​www.modpagespeed.com/​doc/​config_filters| ​additional rule settings ​]] to **PageSpeed Settings** section 
  
 ===== Verify PageSpeed is Enabled ===== ===== Verify PageSpeed is Enabled =====
Line 192: Line 214:
 ====Method 3: 3rd party tool==== ====Method 3: 3rd party tool====
 Perform some testing by a 3rd party data-testing online tool such as [[https://​gtmetrix.com/​ |  GTmetrix]]. It will give you insight into how well your site loads and will provide actionable recommendations. ​ Perform some testing by a 3rd party data-testing online tool such as [[https://​gtmetrix.com/​ |  GTmetrix]]. It will give you insight into how well your site loads and will provide actionable recommendations. ​
 +
 +====== How to check where the pagespeed configuration file? ======
 +
 +You may see pagespeed header and want to locate where the pagespeed was enabled. You may try the case-insensitive grep from apache configuration.
 +
 +For example, under cpanel EA 3 or EA 4 envirnment, go to /​usr/​local/​apache (EA3) or /​etc/​apache2/​ (EA4):
 +  grep -r -i --exclude-dir=logs pagespeed *
 +  ​
 +  root@uniform [/​usr/​local/​apache/​conf]#​ grep -r -i pagespeed *
 +  httpd.conf:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.bak:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.ea-make-install:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.ea-make-install,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.ea-make-install,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.ea-make-install,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.ea-make-install,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.ea-make-install,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.ea-make-install,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.ea-orig:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf.easyapache_save:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  httpd.conf,​v:​Include "/​usr/​local/​apache/​conf/​pagespeed.conf"​
 +  pagespeed.conf: ​ LoadModule pagespeed_module modules/​mod_pagespeed.so
 +  pagespeed.conf: ​ LoadModule pagespeed_module modules/​mod_pagespeed_ap24.so
 +  pagespeed.conf:<​IfModule pagespeed_module>​
 +  pagespeed.conf: ​ # Turn on mod_pagespeed. To completely disable mod_pagespeed,​ you
 +  pagespeed.conf: ​ ModPagespeed off
 +  pagespeed.conf: ​ # Direct Apache to send all HTML output to the mod_pagespeed
 +  pagespeed.conf: ​ AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
 +  pagespeed.conf: ​ # The ModPagespeedFileCachePath and
 +  pagespeed.conf: ​ # ModPagespeedGeneratedFilePrefix directories must exist and be
 +  pagespeed.conf: ​ ModPagespeedFileCachePath ​           "/​var/​mod_pagespeed/​cache/"​
 +  pagespeed.conf: ​ # Override the mod_pagespeed '​rewrite level'​. The default level
 +  pagespeed.conf: ​ # ModPagespeedDisableFilters and ModPagespeedEnableFilters
 +  pagespeed.conf: ​ # directives, below. Valid values for ModPagespeedRewriteLevel are
 +  pagespeed.conf: ​ # ModPagespeedRewriteLevel PassThrough
 +  pagespeed.conf: ​ # conjuction with ModPagespeedRewriteLevel. For instance, if one
 +  pagespeed.conf: ​ # ModPagespeedDisableFilters. This directive contains a
 +  pagespeed.conf: ​ # ModPagespeedDisableFilters rewrite_images
 +  pagespeed.conf: ​ # conjuction with ModPagespeedRewriteLevel. For instance, filters
 +  pagespeed.conf: ​ # ModPagespeedEnableFilters rewrite_javascript,​rewrite_css
 +  pagespeed.conf: ​ # ModPagespeedEnableFilters collapse_whitespace,​elide_attributes
 +  pagespeed.conf: ​ # ModPagespeedDomain
 +  pagespeed.conf: ​ #   ​ModPagespeedDomain cdn.myhost.com
 +  pagespeed.conf: ​ # ModPagespeedFileCacheSizeKb ​         102400
 +  pagespeed.conf: ​ # ModPagespeedFileCacheCleanIntervalMs 3600000
 +  pagespeed.conf: ​ # ModPagespeedLRUCacheKbPerProcess ​    1024
 +  pagespeed.conf: ​ # ModPagespeedLRUCacheByteLimit ​       16384
 +  pagespeed.conf: ​ # ModPagespeedCssInlineMaxBytes ​       2048
 +  pagespeed.conf: ​ # ModPagespeedImgInlineMaxBytes ​       2048
 +  pagespeed.conf: ​ # ModPagespeedJsInlineMaxBytes ​        2048
 +  pagespeed.conf: ​ # ModPagespeedCssOutlineMinBytes ​      3000
 +  pagespeed.conf: ​ # ModPagespeedJsOutlineMinBytes ​       3000
 +  pagespeed.conf: ​ # ModPagespeedImgMaxRewritesAtOnce ​       8
 +  pagespeed.conf: ​ # When Apache is set up as a browser proxy, mod_pagespeed can record
 +  pagespeed.conf: ​ # ModPagespeedSlurpDirectory ...
 +  pagespeed.conf: ​ # ModPagespeedSlurpReadOnly on
 +  pagespeed.conf: ​ # mod_pagespeed circumvents this limitation, but if you employ
 +  pagespeed.conf: ​ # ModPagespeedMaxSegmentLength 250
 +  pagespeed.conf: ​ # Uncomment this if you want to prevent mod_pagespeed from combining files
 +  pagespeed.conf: ​ # ModPagespeedCombineAcrossPaths off
 +  pagespeed.conf: ​ # ModPagespeedLogRewriteTiming on
 +  pagespeed.conf: ​ # added that sends latency beacons to /​mod_pagespeed_beacon. ​ These
 +  pagespeed.conf: ​ # statistics can be accessed at /​mod_pagespeed_statistics. ​ You must also
 +  pagespeed.conf: ​ # enable the mod_pagespeed_statistics and mod_pagespeed_beacon handlers
 +  pagespeed.conf: ​ # ModPagespeedEnableFilters add_instrumentation
 +  pagespeed.conf: ​ # You can use a different location by adding the ModPagespeedBeaconUrl
 +  pagespeed.conf: ​ <​Location /​mod_pagespeed_beacon>​
 +  pagespeed.conf: ​       SetHandler mod_pagespeed_beacon
 +  pagespeed.conf: ​ # ModPagespeedStatistics off
 +  pagespeed.conf: ​ # This page lets you view statistics about the mod_pagespeed module.
 +  pagespeed.conf: ​ <​Location /​mod_pagespeed_statistics>​
 +  pagespeed.conf: ​     SetHandler mod_pagespeed_statistics
 +  ​
 +the you can locate ''/​usr/​local/​apache/​pagespeed.conf''​.
  • Admin
  • Last modified: 2020/04/09 15:40
  • by Jackson Zhang