Мне нравится добавлять модуль Google PageSpeed на свой веб-сервер nginx в Ubuntu.
Эта ссылка дает простой обзор https://developers.google.com/speed/pagespeed/module/build_ngx_pagespeed_from_source?hl=de но это касается только случая, когда вы устанавливаете nginx с нуля.
У меня уже установлен nginx, и когда я набираю следующую командную строку в папке / var / lib / nginx, я получаю сообщение об ошибке «Нет такого файла»:
./configure --add-module=$HOME/ngx_pagespeed-release-1.7.30.4-beta
Лучше всего в этом вопросе создать Nginx с нуля.
Сохраните файлы конфигурации nginx перед этим в безопасное место, а затем сделайте это, если вы используете Debian:
sudo dpkg -r nginx
Если вы используете Debian: sudo apt-get install build-essential zlib1g-dev libpcre3-dev
Просто убедитесь, что вы удалили Nginx и получили необходимые библиотеки для сборки Nginx из исходников, если не в Debian.
Библиотеки и инструменты:
gcc-c++ pcre zlib make wget
Следующая часть не зависит от системы.
Получите последнюю версию Nginx:
cd /usr/src/
sudo wget http://nginx.org/download/nginx-1.7.6.tar.gz
sudo tar xvfvz nginx-1.7.6.tar.gz
cd /usr/src/nginx-1.7.6
Получите последний источник скорости страницы:
sudo wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.9.32.1-beta.zip
Сначала распакуйте модуль:
sudo unzip v1.9.32.1-beta.zip
cd ngx_pagespeed-1.9.32.1-beta
Загрузите библиотеки PSOL в каталог модуля и распакуйте их туда:
sudo wget wget https://dl.google.com/dl/page-speed/psol/1.9.32.1.tar.gz
sudo tar xvfvz 1.9.32.1.tar.gz
cd обратно в корневой каталог исходных текстов nginx и сконфигурируйте, сделайте и сделайте установку. Убедитесь, что вы изменили пользователя Nginx на этапе настройки на пользователя, который соответствует вашим потребностям (--user = nginx --group = nginx):
cd /usr/src/nginx-1.7.6
./configure --add-module=/usr/src/nginx-1.7.6/ngx_pagespeed-1.9.32.1-beta --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx
Когда этап настройки завершен:
sudo make
sudo make install
Это даст вам последнюю версию Nginx с последним модом pagepeed и библиотеками, готовыми к работе.
Похоже, это требует выполнения ряда команд, если вы не хочу создавать NGINX с нуля. Вот сценарий bash, который я использую для автоматическая установка PageSpeed на уже работающий экземпляр NGINX:
#!/bin/bash
# https://www.majlovesreg.one/tag/code/
# https://www.majlovesreg.one/adding-pagespeed-to-a-running-nginx-instance
# For custom NGINX version, use:
# ngver=1.14.2
# For passing via the command line, use:
# ngver=$1
# For automated detection of installed NGINX, use:
ngver=$(nginx -v 2>&1 | grep -oP '(?<=/).*')
moddir=/usr/share/nginx/modules
builddir=$(mktemp -d)
# Build in tmp directory
cd ${builddir}
# Use script provided by pagespeed
nice -n 19 ionice -c 3 bash <(curl -f -L -sS https://ngxpagespeed.com/install) -n ${ngver} -m -b ${builddir} -a '--with-compat' -y || { echo '!! error with module creation, exiting...'; exit 1; }
# Replace ngx_pagespeed.so if exists, otherwise, copy it
[ -f ${moddir}/ngx_pagespeed.so ] && sudo mv ${moddir}/ngx_pagespeed.so ${moddir}/ngx_pagespeed.so.old
sudo chmod 644 /usr/local/nginx/modules/ngx_pagespeed.so || { echo '!! error with module path, exiting...'; exit 2; }
sudo cp /usr/local/nginx/modules/ngx_pagespeed.so ${moddir}/
# If new module works well, clean up build and install files
sudo nginx -t && { sudo rm -r /usr/local/nginx; rm -r ${builddir}/incubator-pagespeed-ngx-latest-stable; rm -r ${builddir}/nginx-${ngver}; } || { echo '!! nginx conf failed, exiting...'; exit 4; }
# Restart NGINX
systemctl is-active nginx && sudo systemctl restart nginx || sudo systemctl start nginx
echo
systemctl --no-pager status nginx
echo
echo 'Build and install of ngx_pagespeed sucessful!'
echo
Чтобы включить динамический модуль и установить другие параметры PageSpeed, см.: https://www.majlovesreg.one/adding-pagespeed-to-a-running-nginx-instance
Вы можете использовать собственный источник PPA для установки сборки nginx с Pagespeed в вашу систему.
смотреть на https://launchpad.net/~sandyd/+archive/nginx-current-pagespeed для кастомной сборки.