Как установить модуль PageSpeed ​​в Ubuntu

Это краткое руководство показывает студентам и новым пользователям, как установить модуль Google PageSpeed ​​в Ubuntu 20.04 | 18.04 с поддержкой Nginx HTTP.

Модуль PageSpeed ​​- это открытый исходный код, Apache, поддерживаемый и созданный Google, чтобы помочь ускорить загрузку веб-страниц, переписав их для уменьшения задержки и уменьшения пропускной способности.

Модуль PageSpeed ​​был создан давно, и сегодня вы, вероятно, не увидите его установленным на слишком многих веб-страницах. Но концепция, лежащая в основе этого, по-прежнему актуальна.

Основная цель проекта PageSpeed ​​заключалась в автоматической оптимизации веб-сайтов, тем самым повышая удобство работы пользователей в Интернете на любом устройстве.

Если вы используете веб-сайт сегодня и хотите улучшить взаимодействие с пользователями за счет оптимизации веб-страниц, то модуль PageSpeed ​​должен стать отличным местом для начала.

Я использую его на этом сайте, и он отлично подходит для моей аудитории.

Чтобы узнать больше о модуле PageSpeed, посетите его веб-сайт здесь.

Чтобы начать установку и настройку модуля PageSpeed ​​в Ubuntu с поддержкой Nginx, выполните следующие действия:

Установите необходимые пакеты

Эти пакеты необходимы для компиляции и сборки модулей PageSpeed ​​в Ubuntu. Выполните следующие команды, чтобы установить пакеты ниже:

sudo apt update

sudo apt install libssl-dev libxslt-dev libgd-dev curl nano

После установки пакетов, указанных выше, продолжайте ниже.

Установить HTTP-сервер Nginx

Теперь, когда указанные выше пакеты установлены, выполните приведенные ниже команды, чтобы установить HTTP-сервер Nginx в Ubuntu. Установить Nginx в Ubuntu довольно просто. Стабильные пакеты Nginx доступны в репозиториях Ubuntu по умолчанию.

Просто выполните приведенные ниже команды, чтобы установить Nginx.

sudo apt install nginx

По некоторым причинам установленный Ubuntu Nginx не работал хорошо, когда я создавал модули PageSpeed. В этом случае обновитесь до версии из официального репозитория Nginx.

Выполните приведенные ниже команды, чтобы установить поддерживаемый пакет.

sudo apt install gnupg2 ca-certificates lsb-release

Затем создайте файл репозитория в Ubuntu.

echo "deb http://nginx.org/packages/ubuntu lsb_release -cs nginx" | sudo tee/etc/apt/sources.list.d/nginx.list

и добавьте ключ репозитория, выполнив следующие команды:

curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -

После этого выполните обновление, выполнив следующие команды:

sudo apt update

sudo apt install nginx

После установки Nginx вы также захотите установить установленную версию. Этот номер версии понадобится вам для создания правильных пакетов PageSpeed ​​для Nginx.

Чтобы узнать номер версии Nginx, выполните следующие команды:

nginx -v

Это отобразит похожие строки, как показано ниже:

nginx version: nginx/1.20.0

Вы также захотите узнать, какие модули и аргументы в настоящее время включены и созданы с помощью Nginx. Мы хотим использовать идентичную конфигурацию при перекомпиляции Nginx с поддержкой PageSpeed.

Чтобы найти текущие установочные модули и аргументы Nginx, выполните следующие команды:

nginx -V

Это должно отобразить аналогичную строку, как показано ниже:

--prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.20.0/debian/debuild-base/nginx-1.20.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'

Скопируйте всю строку выше и сохраните ее в удобном для вас месте. Мы будем использовать строку выше при компиляции модуля PageSpeed ​​в Nginx.

Установить модуль PageSpeed

Теперь, когда у вас есть вся необходимая информация, выполните приведенные ниже команды, чтобы начать компиляцию PageSpeed ​​с Nginx.

bash <(curl -f -L -sS https://ngxpagespeed.com/install) --nginx-version 1.20.0

Замените номер версии Nginx на соответствующий номер, установленный в настоящее время в вашей системе. Когда вы запускаете команду из домашнего каталога, она загружает пакеты PageSpeed ​​в вашу домашнюю папку.

Для этого руководства пакеты были загружены в мою папку / home / richard с именем incubator-pagespeed-ngx-latest-stable.

/home/richard/incubator-pagespeed-ngx-latest-stable

Вам понадобится указанный выше путь при сборке Nginx для добавления модуля PageSpeed.

Во время сборки вам будет предложено настроить дополнительные аргументы для Nginx. Помните папку PageSpeed, созданную в вашем домашнем каталоге?

About to build nginx.  Do you have any additional ./configure

arguments you would like to set?  For example, if you would like

to build nginx with https support give --with-http_ssl_module

If you don't have any, just press enter.

>

Включите папку в процесс сборки. Вот так это будет выглядеть:

--add-dynamic-module=/home/richard/incubator-pagespeed-ngx-latest-stable

Теперь, когда будет предложено во время сборки, объедините как путь, указанный выше, так и исходный модуль Nginx и вывод аргументов, как показано выше. Вся строка должна выглядеть так:

--add-dynamic-module=/home/richard/incubator-pagespeed-ngx-latest-stable --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.20.0/debian/debuild-base/nginx-1.20.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'

Когда появится запрос снова, выберите Y для Да.

You have set --with-debug for building nginx, but precompiled Debug binaries for

PSOL, which ngx_pagespeed depends on, aren't available.  If you're trying to

debug PSOL you need to build it from source.  If you just want to run nginx with

debug-level logging you can use the Release binaries.



Use the available Release binaries? [Y/n] Y

Для завершения сборки.

После завершения сборки модуль PageSpeed ​​должен быть включен в Nginx. Вы можете протестировать, выполнив следующие команды:

nginx -V

Теперь он должен вывести строку с вашим домашним каталогом, указывающим на папку PageSpeed.

nginx version: nginx/1.20.0

built by gcc 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) 

built with OpenSSL 1.1.1f  31 Mar 2020

TLS SNI support enabled

configure arguments: --add-module=/home/richard/incubator-pagespeed-ngx-latest-stable --add-dynamic-module=/home/richard/incubator-pagespeed-ngx-latest-stable --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules

Затем включите модули PageSpeed ​​и создайте символическую ссылку для модулей Nginx.

sudo cp ~/nginx-1.20.0/objs/*.so /etc/nginx/modules

sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules

Наконец, добавьте этот начальный блок PageSpeed ​​в серверный блок Nginx веб-сайта, который вы хотите улучшить. В каждый серверный блок, где включен PageSpeed, добавьте:

server {

...

pagespeed on;

pagespeed FileCachePath /var/ngx_pagespeed_cache;



location ~ ".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" {

  add_header "" "";

}

location ~ "^/pagespeed_static/" { }

location ~ "^/ngx_pagespeed_beacon$" { }

...

}

Сохраните выход из файла и перезагрузите Nginx

sudo systemctl reload nginx

Проверить настройки PageSpeed.

curl -I -p http://example.com

Вы должны увидеть результат, аналогичный приведенному ниже.

HTTP/1.1 200 OK

Server: nginx/1.20.0

Date: Sat, 15 May 2021 14:58:16 GMT

Content-Type: text/html

Content-Length: 612

Last-Modified: Tue, 20 Apr 2021 13:35:47 GMT

X-Page-Speed: 1.13.35.2-0 

Cache-Control: max-age=0, no-cache

Это должно сработать. Дополнительные настройки PageSpeed ​​доступны на его веб-сайте. Посетите сайт и найдите дополнительные параметры конфигурации.

Фильтры PageSpeed ​​(modpagespeed.com)

Заключение

В этом посте показано, как установить модуль PageSpeed ​​в Ubuntu с HTTP-сервером Nginx. Если вы обнаружите какую-либо ошибку выше, пожалуйста, используйте форму комментария ниже, чтобы сообщить.



2021-05-17T08:18:27
Вопросы читателей

Установка и настройка DHCP на Ubuntu Server

Сегодня в статье рассмотрим пример по установки и настройки dhcp сервера на операционной системой Ubuntu Server 20.04.

DHCP — сетевой протокол, позволяющий сетевым устройствам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Если сказать ещё проще, то это программное обеспечения для автоматической настройки вашей сети. Читать

Как установить Kubernetes на единый узел Ubuntu

Контейнеры, Kubernetes и IoT/периферийные приложения играют чрезвычайно важную роль в цифровой трансформации предприятия. Они особенно важны для команд DevOps, работающих над ускорением выпуска программного обеспечения и улучшением ИТ-операций за счет интеграции и оптимизации. Большая часть облачного программного обеспечения удобна для пользователя, что позволяет многим разработчикам вносить свой вклад и настраивать соответствующее программное обеспечение. Это привело к появлению упрощенных версий Kubernetes с небольшими следами, которые идеально подходят для задач IoT/Edge. Читать

Как очистить дисковое пространство в Linux Mint

Не секрет, что ненужные файлы из-за установки новых программ и обновлений могут замедлить работу операционной системы. Эти ненужные файлы могут повлиять на производительность и снизить скорость. Кроме того, это также может серьезно повлиять на производительность системы, если есть ненужные системные файлы. Читать

Что означает 127.0.0.1?

IP-адресация

Интернет-протокол или IP использует 32-битный IPv4 или 128-битный IPv6-адрес для идентификации устройства в сети. Это аналог нашего физического домашнего адреса, который используется для доставки нашей почты и товаров для покупок в Интернете, для связи с нами и т. д. Наш физический домашний адрес представляет собой сочетание цифр и слов, но в случае компьютеров они понимают только числа. адреса в определенном формате. Даже если мы введем адрес вроде «www.domain.ru», компьютеры преобразуют его в числовой формат с помощью механизма DNS.

IP-адрес является частным, если он используется только внутри локальной сети. С другой стороны, общедоступный IP-адрес используется для доступа к сетям и устройствам за пределами частной локальной сети и через Интернет. Три различных диапазона IP-адресов назначаются в частном блоке Управлением по присвоению номеров в Интернете (IANA). RFC 1918 определяет эти три диапазона следующим образом:

10.0.0.0 -10.255.255.255



172.16.0.0 - 172.31.255.255



192.168.0.0 – 192.168.255.255

 

Блок адресов 127.0.0.0/8 зарезервирован для адресов loopback или localhost. По сути, это частный диапазон IP-адресов на уровне хоста. Любой IP-адрес внутри этого диапазона не может использоваться ни в какой сети. Давайте подробно рассмотрим концепцию localhost IP или 127.0.0.1.

 

Что такое Localhost или 127.0.0.1?

Localhost относится к имени самого компьютера. Localhost перенаправляет на IP-адрес 127.0.0.1, который также называется адресом обратной связи. Фактически, любой IPv4-адрес в блоке 127.0.0.0/8 обозначается как адрес обратной связи. Приложения обычно предпочитают использовать 127.0.0.1 для своей сетевой службы. IP-адрес 127.0.0.1 обычно назначается интерфейсу обратной связи. Интерфейс обратной связи технически представляет собой замкнутую цепь. Это означает, что любой пакет TCP или UDP, поступающий на интерфейс обратной связи (localhost или 127.0.0.1), будет маршрутизироваться на сам компьютер без выхода во внешнюю сеть или в Интернет.

Localhost в основном используется многими программами, такими как веб-серверы, серверы баз данных и т. д., Для предоставления своих услуг. В большинстве случаев, когда несколько приложений используют адрес localhost, их можно настроить на использование разных номеров портов. Обычно это можно сделать, изменив их файлы конфигурации.

 

Потребность в Localhost

Основная цель использования Localhost — это разработка и тестирование приложений перед их развертыванием в производственной среде. Один из популярных примеров — разработка WordPress. Можно использовать локальную среду для тестирования новых подключаемых модулей и обновлений перед их развертыванием в реальном мире. Некоторые приложения, такие как Stringer RSS reader, можно использовать только через Localhost. Если вы хотите проверить, правильно ли настроен Localhost на вашем компьютере, просто установите веб-сервер Apache и перейдите по адресу http://localhost или http://127.0.0.1. Это откроет домашнюю страницу Apache. Если это локальный хост IPv6, вы можете получить к нему доступ, перейдя по URL-адресу HTTP://[:: 1]/ Для доступа к этой веб-странице на других устройствах в вашей локальной сети вам потребуется его частный IP-адрес, назначенный DHCP-сервером. Точно так же, если вы хотите получить доступ к этой веб-странице из удаленного места,

Помимо 127.0.0.1, localhost также может быть сопоставлен с другими IP-адресами обратной петли. Например, вы все еще можете получить доступ к стартовой странице Apache с любого адреса от 127.0.0.1 до 127.0.0.255 в сети 127.0.0.0/28.

 

Локальный IPv6

Новый преемник IPv4, IPv6 — это Интернет-протокол (IP) следующего поколения. Он имеет 128-битный IP-адрес. Как и 32-битный адрес обратной связи IPv4, IPv6 также определяет 128-битный адрес обратной связи. Обозначение для адреса localhost IPv6: 1/128. Обычно приложения настроены на использование адресов IPv4 и IPv6. Если вы ранее установили веб-сервер Apache на своем сервере Linux, вы заметите, что можете посетить стартовую страницу Apache с адресом localhost IPv6. Выбор использования IPv6 или IPv4 loopback IP может зависеть от ваших требований. Возможно, вы хотите разработать свое приложение для использования только адресов IPv6, в этом случае вы можете настроить для него локальную сеть IPv6. Каждый имеет свои преимущества перед другим.

 

Разрешение имени для локального хоста

Почти в каждой операционной системе существует файл хоста, который преобразует имя хоста в IP-адрес. Этот файл также содержит разрешение имен для локального хоста IPv4 и IPv6. Давайте быстро посмотрим на содержимое этого файла в ОС Ubuntu 20.04. Откройте терминал (ctrl + alt + t) и введите:

$ cat /etc/hosts

 

Приведенная выше команда отобразит содержимое файла хоста на терминале.

 

Заключение

В этом руководстве мы изучили различные функции и способы использования IP-адреса localhost или loopback. Это действительно большое благо для разработки приложений, поскольку оно обеспечивает большую гибкость и множество возможностей.



2021-05-14T10:51:46
Сети

Создание разделов диска при установке Debian

На этом уроке разберём создание разделов при установке операционной системы Debian 11. Каждый раздел будем использовать по разному.





Читать далее…