Подключаем ngx_pagespeed(mod_pagespeed) к nginx

Установка Модуля без пере компиляции nginx и прочих мучений
Внимание пакет подходит только для версии nginx 1.10.3 — 1.12.0
Установка с репозитория getpagespeed

1
yum install https://extras.getpagespeed.com/redhat/7/noarch/RPMS/getpagespeed-extras-7-0.el7.gps.noarch.rpm

Затем все, что вам нужно сделать, чтобы установить модуль PageSpeed, который работает с самым последним официальным Nginx, заключается в следующем:

1
yum install nginx-module-nps

Проследить подсказкам после установки, прописать загрузку модуля

1
load_module modules/ngx_pagespeed.so

Просто пропишите строку в конфигурационный файл nginx.conf
Настройка модуля для vhost сервера
В самом конце конфигурационного файла перед инклудами директории cond.f пропишите

1
2
3
4
5
...
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
...
    include /etc/nginx/conf.d/*.conf;

Создаем директорию

1
mkdir -p /var/ngx_pagespeed_cache

и предоставляем права на запись

1
chown nginx.nginx /var/ngx_pagespeed_cache

или же если у вас хосты работают под разными пользователями

1
chmod -R 0777 /var/ngx_pagespeed_cache

Конфигурация хостов
server {
….
pagespeed on;
pagespeed MemcachedThreads 1;
pagespeed MemcachedServers «localhost:11211»;
pagespeed RunExperiment on;
pagespeed AnalyticsID UA-XXXXXXXXXX-1;
pagespeed ExperimentVariable 1;
pagespeed ExperimentSpec «id=1;percent=50;level=CoreFilters;enabled=collapse_whitespace,remove_comments;»;
pagespeed ExperimentSpec «id=2;percent=50»;
# настройки фильтра
pagespeed RewriteLevel CoreFilters;
pagespeed EnableFilters collapse_whitespace,remove_comments;
# должны бить права на запись
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# Убедитесь, что запросы для оптимизированных ресурсов, оптимизированных для страниц, идут в обработчик скорости страницы.
# И никакие посторонние заголовки не будут установлены.
location ~ «\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+» {
add_header «» «»;
}
location ~ «^/pagespeed_static/» { }
location ~ «^/ngx_pagespeed_beacon$» { }
}

Сохранять кеш ngx_pagespeed в памяти
Обратите внимание на директиву FileCachePath. Это каталог, в котором хранятся файлы кеша. Используя сильную файловую систему> tmpfs для этого каталога, вы можете хранить кеш в памяти без Memcached.

1
mount -t tmpfs -o size=100M,mode=0755 tmpfs /var/ngx_pagespeed_cache

и прописать в fstab

1
2
3
[…]
tmpfs /var/ngx_pagespeed_cache tmpfs size=100M,mode=0777 0 0
[…]

Конфигурация на примере BLOG.IT-SVC.COM.UA

1
2
3
4
5
6
7
8
9
10
11
12
###pagespeed
pagespeed on;
pagespeed RunExperiment on;
pagespeed UseAnalyticsJs off;
pagespeed AnalyticsID UA-63193477-2;
pagespeed RewriteLevel CoreFilters;
pagespeed ExperimentVariable 3;
pagespeed ExperimentSpec "id=3;percent=10;default";
pagespeed ExperimentSpec "id=4;percent=10;level=CoreFilters;enabled=inline_preview_images,remove_comments;disabled=rewrite_javascript;options=AvoidRenamingIntrospectiveJavascript=off,CssInlineMaxBytes=4096";
pagespeed ExperimentSpec "id=5;percent=10";
pagespeed EnableFilters collapse_whitespace,remove_comments;
pagespeed FileCachePath /var/www/blogitsvc/pagespeed;

О директивах настроек модуля можете ознакомиться здесь