Подробное графическое и текстовое объяснение развертывания модуля Pagespeed в среде Nginx панели Pagoda для повышения производительности в Интернете.
Подробное графическое и текстовое объяснение развертывания модуля Pagespeed в среде Nginx панели Pagoda для повышения производительности в Интернете.

В последнее время я очень часто пишу статьи, ха-ха. После развертывания функционального модуля brotli в панели Pagoda я иногда видел, как кто-то упоминал модуль PageSpeed, и я не знал почему, поэтому я зашел в Baidu и узнал, что Pagespeed — это сеть. инструмент производительности страниц, предоставляемый Google. В основном используется для тестирования и оптимизации производительности веб-страниц на ПК и мобильных терминалах. С помощью Pagespeed пользователи могут выявлять и устранять проблемы с производительностью, такие как медленная загрузка веб-страниц и длительное время отклика, тем самым улучшая взаимодействие с пользователем и общую производительность веб-сайта. Как только я увидел, что это может улучшить производительность сайта, он меня сразу привлек. И только после завершения установки я понял, что действительно не всем рекомендую его устанавливать. А почему, вы узнаете. знайте в конце статьи.

Независимо от того, что это за статья, она все равно записывается. При необходимости следуйте следующему руководству, чтобы начать путь метания.

описание среды

Версия сервера: CentOS Linux версии 7.9.2009 (Core)

Версия ядра: Linux localhost.localdomain 3.10.0-1160.49.1.el7.x86_64

Версия GCC: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) (проверьте с помощью команды gcc -v, поскольку компиляция модуля Pagespeed требует версии GCC)

Панель Пагода: 9.1.0

Пример версии Nginx: Nginx 1.22.

Необходимый установочный пакет: incubator-pagespeed-ngx-1.13.35.2-stable (wget https://github.com/apache/incuba... .35.2-stable.tar.gz)

Установить зависимости

Автоматически устанавливайте компилятор GCC (включая C и C++), систему сборки CMake, инструмент распаковки архива, инструмент загрузки wget, библиотеки разработки PCRE и zlib через менеджер пакетов YUM, не требуя от пользователей ручного подтверждения установки каждого пакета программного обеспечения. Эти пакеты обычно представляют собой зависимости, необходимые при компиляции и установке другого программного обеспечения. Команды следующие:

Язык кода:javascript
копировать
yum install gcc cmake unzip wget gcc-c++ pcre-devel zlib-devel -y

После ввода команды система автоматически ее установит. Однако некоторые изображения могут иметь ошибки и система автоматически сопоставит их, как показано на рисунке:

После завершения установки откройте «Установить скорость страницы».

Установить скорость страницы

Создайте новый каталог [ngx_page] в терминале, войдите в каталог и загрузите файл. Команда выглядит следующим образом:

Язык кода:javascript
копировать
mkdir -p /www/server/ngx_page/
cd /www/server/ngx_page/

wget https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.tar.gz

После ввода, как показано на картинке, это в принципе не сложно. Если доступ к github ограничен, скачайте его локально и загрузите в каталог сервиса.

Разархивируйте файл и войдите в каталог [incubator-pagespeed-ngx-1.13.35.2-stable]. Команда выглядит следующим образом:

Язык кода:javascript
копировать
tar -xvzf v1.13.35.2-stable.tar.gz

cd incubator-pagespeed-ngx-1.13.35.2-stable

Как показано на картинке, после загрузки войдите в каталог и разархивируйте файл.

После входа в каталог загрузите файл и распакуйте его. Команда выглядит следующим образом:

Язык кода:javascript
копировать
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz

tar -xvzf 1.13.35.2-x64.tar.gz

Просмотр файлов в каталоге

Язык кода:javascript
копировать
ls -lh

Как показано на картинке, посмотрите, есть ли вот этот [psol] файл, как показано на картинке:

Скомпилируйте и установите

Войдите в каталог nginx панели Pagoda и создайте резервную копию файла nginx Pagoda.

Язык кода:javascript
копировать
cd /www/server/nginx/sbin/

cp nginx nginx.bak

После завершения резервного копирования мы выполним следующие шаги, чтобы установить его. Магазин программного обеспечения в правой части панели пагоды,Перейти к удалению панели Pagoda,После завершения удаления нажмите [Установить],Скомпилируйте и установите,Выберите версию [1.22],Затем добавьте пользовательский модуль,Команда выглядит следующим образом:

Язык кода:javascript
копировать
ng_pagespeed

--add-module=/www/server/ngx_page/incubator-pagespeed-ngx-1.13.35.2-stable

Убедитесь, что расположение каталога параметров модуля правильное (путь к изображению будет изменен позже), а имя и описание можно задать произвольно.

Выбираем версию [1.22.1] и после настройки сразу открываем пользовательский модуль, а включенное состояние такое, как показано на рисунке.

Я установил два модуля,один【brotli】модуль сжатияи【pagespeed】Модуль ускорения,После подтверждения отсутствия проблем,Нажмите [Отправить и установить],Дождитесь завершения установки,Не долго, но и не медленно,Зависит от скорости и пропускной способности сервера,пока установка не завершится успешно,Затем Конфигурационный файл。

Конфигурационный файл

Объясните здесь,Не то же самое, что бротли,Конфигурацию скорости страницы необходимо установить на веб-сайте.,,найти сайт,Веб-сайты, которые хотят использовать функцию PageSpeed,настраивать,Конфигурационный файл, копировать выглядит следующим образом:

Язык кода:javascript
копировать
# Основные настройки  
pagespeed on;  
pagespeed FileCachePath /var/ngx_pagespeed_cache;  

# Включите необходимые фильтры оптимизации  
pagespeed EnableFilters collapse_whitespace;  
pagespeed EnableFilters canonicalize_javascript_libraries;  
pagespeed EnableFilters combine_css;  
pagespeed EnableFilters combine_javascript;  
pagespeed EnableFilters elide_attributes;  
pagespeed EnableFilters extend_cache;  
pagespeed EnableFilters flatten_css_imports;  
pagespeed CssFlattenMaxBytes 5120;  
pagespeed EnableFilters lazyload_images;  
pagespeed EnableFilters rewrite_javascript;  
pagespeed EnableFilters insert_dns_prefetch;  
pagespeed EnableFilters prioritize_critical_css;  
  
# Отключить оптимизацию для определенных каталогов (необязательно)  
pagespeed Disallow "*/zb_system/*";  
  
# Конфигурация обработки изображений  
pagespeed EnableFilters lazyload_images;  
pagespeed EnableFilters rewrite_images;  
pagespeed EnableFilters recompress_images;  
pagespeed EnableFilters convert_jpeg_to_webp;  
# Включите этот фильтр, если вам нужно обрабатывать анимированные GIF-файлы.  
# pagespeed EnableFilters convert_to_webp_animated;  
# Примечание: Convert_to_webp_lossless и convert_to_webp_animated может быть связано с convert_jpeg_to_webp конфликт,Потому что они используются в разных форматах изображений.и Цель  
  
# Оптимизация мобильных изображений  
pagespeed EnableFilters resize_mobile_images;  
pagespeed EnableFilters responsive_images;  
pagespeed EnableFilters resize_images;  
pagespeed EnableFilters insert_image_dimensions;  
pagespeed EnableFilters resize_rendered_image_dimensions;  
pagespeed EnableFilters strip_image_meta_data;  
  
# Оптимизация преобразования формата изображения (включено дополнительно)  
# pagespeed EnableFilters convert_png_to_jpeg; # ПРИМЕЧАНИЕ. Это может привести к потере качества изображения.  
# pagespeed EnableFilters convert_to_webp_lossless; # Для статических изображений,Такие как PNGиGIF,Рассмотрите возможность использования сжатия без потерь  
  
# Разрешить оптимизацию ресурсов, на которые есть ссылки в JS.  
pagespeed InPlaceResourceOptimization on;  
pagespeed EnableFilters in_place_optimize_for_browser;  
  
# Настройте специальные блоки местоположения для обработки ресурсов PageSpeed.  
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {  
    add_header Cache-Control "public, max-age=31536000";  
    # Другие настройки заголовка могут быть добавлены по мере необходимости.  
}  
  
location ~ "^/ngx_pagespeed_static/" { }  
location ~ "^/ngx_pagespeed_beacon" { }

Как показано на рисунке, после завершения настройки [/var/ngx_pagespeed_cache] гарантирует существование этого каталога. Если путь назначения отсутствует, вы можете создать или настроить другие кэши самостоятельно.

После завершения установки перезагрузите или перезапустите сервер nginx.

проверять

Существует множество способов использования проверки, например:

Язык кода:javascript
копировать
nginx -V

Как показано на рисунке, мы можем увидеть информацию о модуле PageSpeed ​​или напрямую получить доступ к странице:

Язык кода:javascript
копировать
curl -I -p https://www.itlaoli.com

Измените свое доменное имя для доступа, как показано на рисунке [X-Page-Speed: 1.13.35.2-0], к соответствующей информации, что означает, что соответствующие функции были успешно развернуты и включены.

На что следует обратить внимание

Во время установкии Во время развертывания возникло несколько проблем.,Не знаю почему при переустановке установка не удалась Скомпилируйте и установите,Когда я тестировал его, я использовал версию 1.24, и она сообщила, что установка не удалась.,Файл не существует: /www/server/nginx/sbin/nginx,Я думал, что версия не очень хорошая,В результате вторая установка 1.22 снова провалилась.,Нет, почему,затем переустанови,Ренастройка пройдет успешно,Я не понимаю, что пошло не так,Поэтому я поменял оригинальную версию 1.24 на 1.22.

Самый важный момент - после включения PageSpeed ​​скорость сайта действительно качественно улучшается. Эффект очевиден, но нет такого хорошего в нагрузке. статус и загрузка ЦП были заполнены в одно мгновение. Согласно поговорке в Интернете, это напоминание о том, что функция ЦП мобилизована в соответствии со скоростью веб-сайта. Я перешел в фоновый режим, чтобы посмотреть, и, конечно же, загрузку. был заполнен, как показано на картинке:

ЦП в основном 80%+, но при съемке скриншотов падал до 44,2%, поэтому устанавливать его не рекомендуется Ведь конфигурация такая для 2-х ядерных и 4G конфигураций даже не думайте. основные и низкопрофильные их скорее всего заблокируют, так что качать бесполезно, зря, но несмотря ни на что, я все-таки кое-чему научился. Что касается новой поддержки, я прочитал на форуме Pagoda, что модуль pagespeed был интегрирован после версии 1.7, но его удалили, когда я об этом узнал. Но удалять его можно, ведь он занимает слишком много ресурсов. Это все равно не рекомендуется. использовать его, если конфигурация сервера не идеальна. Возможно, это будет контрпродуктивно. Если у вас есть вопросы, оставьте сообщение.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose