Добавление Модуля PageSpeed к установленному nginx

Мне нравится добавлять Google PageSpeed Module к моему 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
1
задан 14 June 2014 в 00:57
3 ответа

Вы можете использовать собственный источник PPA для установки сборки nginx с Pagespeed в вашу систему.

Посмотрите на https://launchpad.net/~sandyd/+archive/nginx-current-pagespeed для собственной сборки.

.
0
ответ дан 4 December 2019 в 00:24

Лучше всего для решения этой проблемы создать 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

W Получить библиотеки PSOL внутри module dir и распакуйте их туда:

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 и готовыми библиотеками.

1
ответ дан 4 December 2019 в 00:24

Похоже, это требует выполнения ряда команд, если вы не хотите создавать 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

0
ответ дан 4 December 2019 в 00:24

Теги

Похожие вопросы