Модуль PageSpeed предназначен для ускорения загрузки вашего сайта путем оптимизации картинок, css и js-файлов.
Со всеми опциями можно ознакомиться на странице с документацией.
Актуальная инструкция по установке последней версии доступна здесь.
Для установки модулей необходимо пересобрать Nginx. Данная методичка подойдет для установки и других модулей с единственной оговоркой, что для некоторых модулей, при необходимости, нужно будет установить некоторые пакеты. Если в процессе установки других модулей у вас появилась какая-либо ошибка, то просто прочитайте эту ошибку и установите что требуется, а затем продолжайте установку модуля.
Установим дополнительные пакеты, если они еще не установлены:
Скачаем Nginx:
Распакуем и перейдем в папку nginx-1.17.6/src/http/modules:
Загрузим архив ngx_pagespeed из репозитория Github.
Разархивируем его:
Появится новый каталог incubator-pagespeed-ngx-master, который переименуем в ngx_pagespeed и перейдем в него:
Загрузим в папку ngx_pagespeed пакет PageSpeed Optimization Libraries (psol):
Разархивируем его:
Перейдем снова в нашу папку nginx-1.17.6:
Теперь выполним команду:
То есть, после
Если все прошло успешно, то вы увидите что-то подобное:
Теперь соберем Nginx:
Проверим, что модуль установился
Создадим папку кэша файлов сайта:
И укажем необходимые права:
Подключить PageSpeed можно в блоке server (там где находятся ваши location):
При этом, для примера, в 4-й строке указана опция, которая отключает обработку модулем файла /js/ads.js - он останется неизменным.
Перезапустим Nginx:
Обновить кеш можно такой командой:
Со всеми опциями можно ознакомиться на странице с документацией.
Актуальная инструкция по установке последней версии доступна здесь.
Для установки модулей необходимо пересобрать Nginx. Данная методичка подойдет для установки и других модулей с единственной оговоркой, что для некоторых модулей, при необходимости, нужно будет установить некоторые пакеты. Если в процессе установки других модулей у вас появилась какая-либо ошибка, то просто прочитайте эту ошибку и установите что требуется, а затем продолжайте установку модуля.
Установим дополнительные пакеты, если они еще не установлены:
yum install gcc gcc-c++ kernel-devel libuuid-devel openssl-devel pcre-devel
yum groupinstall "Development Tools"
Скачаем Nginx:
wget http://nginx.org/download/nginx-1.17.6.tar.gz
Распакуем и перейдем в папку nginx-1.17.6/src/http/modules:
tar zxvf nginx-1.17.6.tar.gz && cd nginx-1.17.6/src/http/modules/
Загрузим архив ngx_pagespeed из репозитория Github.
wget https://github.com/pagespeed/ngx_pagespeed/archive/master.zip
Разархивируем его:
unzip master.zip
Появится новый каталог incubator-pagespeed-ngx-master, который переименуем в ngx_pagespeed и перейдем в него:
mv incubator-pagespeed-ngx-master ngx_pagespeed && cd ngx_pagespeed
Загрузим в папку ngx_pagespeed пакет PageSpeed Optimization Libraries (psol):
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz
Разархивируем его:
tar -xzvf 1.13.35.2-x64.tar.gz
Перейдем снова в нашу папку nginx-1.17.6:
cd ~/nginx-1.17.6
Теперь выполним команду:
nginx -V
, которая покажет вашу текущую конфигурацию Nginx. Копируем полученный текст начиная с --prefix=
и составляем следующую команду, которая будет выглядеть примерно так:
Код:
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --with-http_perl_module --add-module=/root/nginx-1.17.6/src/http/modules/ngx_pagespeed
./configure
добавляем скопированный ранее текст (после --prefix=
) из команды nginx -V
и добавляем в конец нашу ключевую опцию:--add-module=/root/nginx-1.17.6/src/http/modules/ngx_pagespeed
Если все прошло успешно, то вы увидите что-то подобное:
Bash:
Configuration summary
+ using threads
+ using system PCRE library
+ using system OpenSSL library
+ using system zlib library
nginx path prefix: "/etc/nginx"
nginx binary file: "/usr/sbin/nginx"
nginx modules path: "/usr/lib64/nginx/modules"
nginx configuration prefix: "/etc/nginx"
nginx configuration file: "/etc/nginx/nginx.conf"
nginx pid file: "/var/run/nginx.pid"
nginx error log file: "/var/log/nginx/error.log"
nginx http access log file: "/var/log/nginx/access.log"
nginx http client request body temporary files: "/var/cache/nginx/client_temp"
nginx http proxy temporary files: "/var/cache/nginx/proxy_temp"
nginx http fastcgi temporary files: "/var/cache/nginx/fastcgi_temp"
nginx http uwsgi temporary files: "/var/cache/nginx/uwsgi_temp"
nginx http scgi temporary files: "/var/cache/nginx/scgi_temp"
make && make install
Проверим, что модуль установился
nginx -V
.Создадим папку кэша файлов сайта:
mkdir -p /var/ngx_pagespeed_cache
И укажем необходимые права:
sudo chown -R nobody:nobody /var/ngx_pagespeed_cache
Подключить PageSpeed можно в блоке server (там где находятся ваши location):
NGINX:
# Pagespeed settings
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
pagespeed Disallow "*/js/ads.js";
# 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 ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon" { }
Перезапустим Nginx:
systemctl restart nginx
Обновить кеш можно такой командой:
touch /var/ngx_pagespeed_cache/cache.flush