Note: This feature is depreciated with EasyEngine v3.6.0.
Note: Test your site properly before using this in production.
If you are EasyEngine user then you can skip this step
For Ubuntu 12.04/14.04:
add-apt-repository -y ppa:rtcamp/nginx
apt-get update
For Debian 6/7:
echo "deb http://packages.dotdeb.org $(lsb_release -sc) all" > /etc/apt/sources.list.d/dotdeb-$(lsb_release -sc).list
apt-get update
For Ubuntu 12.04/14.04:
apt-get install nginx-custom
Note: If you are using EasyEngine then this step is not required
For Debian 6/7:
apt-get install nginx-extras
This will install nginx-extras on your server, by removing nginx-full.
Create new pagespeed global configuration file
vim /etc/nginx/conf.d/pagespeed.conf
and paste following code into it
# Turning the module on and off
pagespeed on;
# Configuring PageSpeed Filters
pagespeed RewriteLevel PassThrough;
# Needs to exist and be writable by nginx. Use tmpfs for best performance.
pagespeed MemcachedServers "127.0.0.1:11211";
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# PageSpeed Admin
pagespeed StatisticsPath /ngx_pagespeed_statistics;
pagespeed GlobalStatisticsPath /ngx_pagespeed_global_statistics;
pagespeed MessagesPath /ngx_pagespeed_message;
pagespeed ConsolePath /pagespeed_console;
pagespeed AdminPath /pagespeed_admin;
pagespeed GlobalAdminPath /pagespeed_global_admin;
# PageSpeed Cache Purge
pagespeed EnableCachePurge on;
pagespeed PurgeMethod PURGE;
Create new site specific configuration file
vim /etc/nginx/common/pagespeed.conf
Paste following code into it
# PageSpeed Admin
location /ngx_pagespeed_statistics { include common/acl.conf; }
location /ngx_pagespeed_global_statistics { include common/acl.conf; }
location /ngx_pagespeed_message { include common/acl.conf; }
location /pagespeed_console { include common/acl.conf; }
location ~ ^/pagespeed_admin { include common/acl.conf; }
location ~ ^/pagespeed_global_admin { include common/acl.conf; }
# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
Open site Nginx configuration:
vim /etc/nginx/sites-available/example.com
add following line at in the configurations:
include common/pagespeed.conf;
and restart Nginx
nginx -t && service nginx restart
Please paste following filter inside /etc/nginx/sites-available/example.com
# HTTPS Support
# pagespeed FetchHttps enable;
# PageSpeed Filters
# CSS Minification
# pagespeed EnableFilters combine_css,rewrite_css;
# JS Minification
# pagespeed EnableFilters combine_javascript,rewrite_javascript;
# Images Optimization
#pagespeed EnableFilters lazyload_images;
#pagespeed EnableFilters rewrite_images;
#pagespeed EnableFilters convert_jpeg_to_progressive,convert_png_to_jpeg,convert_jpeg_to_webp,convert_to_webp_lossless;
# Remove comments from HTML
#pagespeed EnableFilters remove_comments;
# Remove WHITESPACE from HTML
#pagespeed EnableFilters collapse_whitespace;
# CDN Support
#pagespeed MapRewriteDomain cdn.example.com www.example.com;
By default we commented all filters. You can uncomment filters that you need for your site.
Also you can add various filters from here to this file: https://developers.google.com/speed/pagespeed/module/filters
You can test site by pointing browser to example.com, and seeing its html code.
You can view Pagespeed statics by poinitng your browser to http://example.com/ngx_pagespeed_statistics
You can disable pagespeed temporary by using this url: http://example.com/?PageSpeed=off
You can purge specific file cache by hitting following url http://exmple.com/pagespeed_admin/cache?purge=/path/file.ext