Установка Модуля без пере компиляции 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; |
О директивах настроек модуля можете ознакомиться здесь