Apache pagespeed

最後更新: 2017-06-14



HomePage: https://developers.google.com/speed/pagespeed/module/




# Link


# Debian (6~7M)

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_a...

dpkg -i mod-pagespeed-*.deb

dpkg -l | grep pagespeed

ii  mod-pagespeed-stable                           amd64

# Centos (6~7M)

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x...

rpm -Uvh mod-pagespeed-stable_current_x86_64.rpm


安裝 package 後獲得以下 File



  • /usr/lib/apache2/modules/mod_pagespeed_ap24.so
  • /usr/bin/pagespeed_js_minify


  • /etc/apache2/mods-available/pagespeed.conf
  • /etc/apache2/mods-available/pagespeed.load
  • /etc/apache2/conf.d/pagespeed_libraries.conf
  • /etc/cron.daily/mod-pagespeed




service apache2 restart





ModPagespeed                         off

# global configuration propagating to VHosts
ModPagespeedInheritVHostConfig       on

# Direct Apache to send all HTML output to the mod_pagespeed output handler.
AddOutputFilterByType                MOD_PAGESPEED_OUTPUT_FILTER text/html

# directory must exist and be writable by the apache user
ModPagespeedFileCachePath            "/var/cache/mod_pagespeed/"

# statistics log
ModPagespeedLogDir                   "/var/log/pagespeed"

# PassThrough, CoreFilters, and OptimizeForBandwidth
# 用 "PassThrough" 之後再個別 enable filter one by one
ModPagespeedRewriteLevel             PassThrough

# enable filter one by one
ModPagespeedEnableFilters combine_css,combine_javascript

ModPagespeedEnableFilters collapse_whitespace,elide_attributes,remove_quotes,trim_urls,remove_comments

ModPagespeedEnableFilters extend_cache

ModPagespeedEnableFilters rewrite_css,rewrite_images

# Other Setting
ModPagespeedCombineAcrossPaths off



<VirtualHost *:80>
  # Enable Pagespeed
  ModPagespeed on


This option sets the maximum number of images to optimize concurrently. The default value is 8.

To allow optimizing an unlimited number of images concurrently, set this option to "-1".

To stop optimizing images, instead disable recompress_images or the related filters.


Admin Page

Apache Handler: pagespeed_admin

Covers all administrative functions for a host in one handler.
If you establish this handler, you don't need any of the other server-scoped methods.

<Location /pagespeed_admin>
   Order allow,deny
   Allow from
   SetHandler pagespeed_admin

Apache's SetHandler access controls are accessible to anyone who can modify .htaccess files
so in a typical shared hosting context the global admin site isn't sufficiently protected.
PageSpeed allows setting an additional restriction of what domains are allowed to load handlers.

ModPagespeedStatisticsDomains Disallow *
ModPagespeedGlobalStatisticsDomains Disallow *
ModPagespeedMessagesDomains Disallow *
ModPagespeedConsoleDomains Disallow *
ModPagespeedAdminDomains Disallow *
ModPagespeedGlobalAdminDomains Disallow *

If you explicitly Allow access to any site, all others are automatically Disallowed.

ModPagespeedStatisticsDomains Allow admin.example.com
ModPagespeedGlobalStatisticsDomains Allow admin.example.com
ModPagespeedMessagesDomains Allow admin.example.com
ModPagespeedConsoleDomains Allow admin.example.com
ModPagespeedAdminDomains Allow admin.example.com
ModPagespeedGlobalAdminDomains Allow admin.example.com

#### Global Setting
# shared memory to allocate as a circular buffer for holding recent PageSpeed log messages
# Unit: byte

ModPagespeedMessageBufferSize 1048576


Cache setting


# 當超過此時間, pagespeed 就會發放原本(沒有優化)的檔案
# 0 相一直等

ModPagespeedRewriteDeadlinePerFlushMs 0

# metadata will no longer be written to the filesystem cache
# Unlike the LRU cache, this cache is shared among all server processes
# The first is the exact string given as the argument to FileCachePath
# in any virtual host where you want this cache active.
# information will be lost upon server restart. (kbyte)
# PageSpeed checkpoints the shared memory metadata cache to disk,
# providing almost all the performance but
# without the cache being wiped on restart

ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/mod_pagespeed/" 51200
ModPagespeedShmMetadataCacheCheckpointIntervalSec 300

Any virtual host that does not have a shared memory metadata cache configured with CreateSharedMemoryMetadataCache will share a default one.
snapshots of the shared memory cache are periodically saved to disk via shared memory checkpointing.

# File Cache (built-in LRU mechanism to remove old files)

ModPagespeedFileCachePath            "/var/cache/pagespeed/"
ModPagespeedFileCacheSizeKb          102400
ModPagespeedFileCacheCleanIntervalMs 3600000
ModPagespeedFileCacheInodeLimit      500000




要放在再頂的 .htaccess

ModPagespeedDisallow "*/plugins/akismet/*"

These directives are evaluated in sequence for each resource,
to determine whether the resource should be consider for rewriting.

- Excluding JavaScript files that cannot be rewritten
   (Some JavaScript files are sensitive to their own names as they traverse the DOM)

# Specifying explicitly which types of files can be rewritten

ModPagespeedDisallow "*"
ModPagespeedAllow "http://*example.com/*.html"
ModPagespeedAllow "http://*example.com/*/images/*.png"
ModPagespeedAllow "http://*example.com/*/styles/*.css"
ModPagespeedDisallow "*/images/captcha/*"


# Limiting the maximum size of a resource to optimize (Default: 16M)


ModPagespeedMaxCacheableContentLength 16777216


# Limiting the maximum generated URL segment length (Default: 1024)
# Apache servers by default impose a further limitation of about 250 characters
# per URL segment (text between slashes)


ModPagespeedMaxSegmentLength 250




# dedup_inlined_images replaces repeated inlined images with
# JavaScript that loads the image from the first occurence of the image.

ModPagespeedEnableFilters dedup_inlined_images




The filter determines which resources are in local storage by inspecting a browser cookie set by the last step's onload handler.

The cookie's name is _GPSLSC and its value is a list of hashes of the URLs of resources stored in local storage.

# Requirements filters: inline_css, inline_javascript
ModPagespeedEnableFilters local_storage_cache
ModPagespeedEnableFilters inline_css
ModPagespeedEnableFilters inline_javascript