Nginx Установка модуля PageSpeed для Nginx в CentOS 7

Nginx 

Установка модуля PageSpeed для Nginx в CentOS 7

Модуль PageSpeed предназначен для ускорения загрузки вашего сайта путем оптимизации картинок, css и js-файлов.
Со всеми опциями можно ознакомиться на странице с документацией.

Актуальная инструкция по установке последней версии доступна здесь.

Для установки модулей необходимо пересобрать 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"
Теперь соберем Nginx:
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" { }
При этом, для примера, в 4-й строке указана опция, которая отключает обработку модулем файла /js/ads.js - он останется неизменным.

Перезапустим Nginx:
systemctl restart nginx

Обновить кеш можно такой командой:
touch /var/ngx_pagespeed_cache/cache.flush
 
Последнее редактирование:

Популярные теги

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.

Сверху