Меню Рубрики

Установка pagespeed для nginx на centos

Установка и подключение модуля PageSpeed для NGINX в Centos 7

PageSpeed — модуль для web-сервера Apache и Nginx от компании Google, который представляет из себя набор фильтров и позволяет значительно повысить производительность сайта.

Добавим репозиторий GetPageSpeed

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

Откроем основной конфиг NGINX и подключим модуль

Подключим модуль PageSpeer во всех наших сайтах, для этого создадим файл с соответствующим содержимым

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

Проверяем конфигурацию NGINX на ошибки и перезагружаем его

У блога появился хостинг, его любезно предоставила компания Облакотека. Облакотека — облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс.

Спасибо за статью, но после попытки установки модуля с репо, получаю такую ошибку:
»
[root@pitp

]# yum -y install nginx-module-pagespeed
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.datahouse.ru
* epel: ru.download.ispsystem.com
* extras: mirror.reconn.ru
* ispsystem-5.228: ru.download.ispsystem.com
* ispsystem-base: ru.download.ispsystem.com
* updates: mirror.reconn.ru
base | 3.6 kB 00:00
epel | 2.9 kB 00:00
extras | 2.9 kB 00:00
getpagespeed-extras | 25 kB 00:00
https://extras.getpagespeed.com/redhat/7/x86_64/repodata/repomd.xml: [Errno -1]
Error importing repomd.xml for getpagespeed-extras: Damaged repomd.xml file
Trying other mirror.

One of the configured repositories failed (GetPageSpeed packages for Enterprise Linux 7 — x86_64),
and yum doesn’t have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work «fix» this:

1. Contact the upstream for the repository and get them to fix the problem.

2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).

3. Run the command with the repository temporarily disabled
yum —disablerepo=getpagespeed-extras …

4. Disable the repository permanently, so yum won’t use it by default. Yum
will then just ignore the repository until you permanently enable it
again or use —enablerepo for temporary usage:

yum-config-manager —disable getpagespeed-extras
or
subscription-manager repos —disable=getpagespeed-extras

5. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:

yum-config-manager —save —setopt=getpagespeed-extras.skip_if_unavailable=true

failure: repodata/repomd.xml from getpagespeed-extras: [Errno 256] No more mirrors to try.
https://extras.getpagespeed.com/redhat/7/x86_64/repodata/repomd.xml: [Errno -1]
Error importing repomd.xml for getpagespeed-extras: Damaged repomd.xml file

»
Подскажите, пожалуйста, как это исправить?

Добрый день, с недавнего времени репозиторий стал платным, по-этому что бы подключить модуль PageSpeed, надо либо собирать nginx с этим модулем из исходников, либо искать др. репозиторий

источник

Установка Nginx с ngx_pagespeed на CentOS 7

Главное меню » Операционная система CentOS » Установка Nginx с ngx_pagespeed на CentOS 7

Ngx-PageSpeed поставляется с большим количеством функций, некоторые из них перечислены ниже:

  • Поддерживает динамическое изменение размера изображения, перекодирование и оптимизация.
  • Малый ресурс встраивания.
  • HTML rewriting.
  • Продления времени жизни Кэша.
  • Отсрочка JavaScript и загрузка изображений.

В этой статье мы обсудим, как собрать Nginx с модулем Ngx_pagespeed на сервере CentOS 7.

  • Свежий CentOS 7-сервер, установленный в вашей системе.
  • пользователь sudo с привилегиями суперпользователя.

1 Обновление системы

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

После того, как ваша система обновлена, перезагрузите систему и войдите с пользователем sudo.

2 Установите необходимые зависимости

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

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

3 Компиляция Nginx с Ngx PageSpeed

Для того, чтобы установить Nginx с модулем Ngx-PageSpeed ​​вам нужно будет собрать Nginx из источника. Во-первых, вам нужно будет загрузить исходный Nginx. Вы можете загрузить его, выполнив следующую команду:

Для компиляции Nginx с модулем Ngx_pagespeed вам необходимо загрузить пакет Ngx_pagespeed из источника. Вы можете загрузить его с помощью следующей команды:

Читайте также:  Установка грм 4g63 галант

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

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

Теперь, давайте начнем компилировать Nginx с модулем PageSpeed.

Во-первых, измените каталог на исходный каталог Nginx с помощью следующей команды:

Затем настройте источник Nginx с помощью следующей команды:

После завершения конфигурирования, компиляции Nginx, выполните следующую команду:

Эта команда может занять несколько минут. После этого вы можете установить Nginx, выполнив следующую команду:

После установки Nginx, вам нужно будет создать символическую ссылку на Nginx:

4 Создание сценария запуска Nginx

Вам также необходимо создать сценарий запуска для Nginx, чтобы остановить и запустить Nginx. Вы можете сделать это путем создания файла nginx в каталоге /etc/init.d:

Добавьте следующие строки:

Сохраните и закройте файл, когда вы закончите, а затем дайте права на исполнение к нему:

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

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

5 Настройка Nginx

Теперь, Nginx установлен с поддержкой Ngx-PageSpeed. По умолчанию PageSpeed ​​отключен. Перед тем как включить его, рекомендуется проверить скорость сайта. Далее, вам нужно будет создать каталог кэша для Ngx-PageSpeed, а также присвоить право собственности на Nginx:

Далее, вам нужно будет внести некоторые изменения в файл /etc/nginx/nginx.conf. Вы можете сделать это, выполнив следующую команду:

Добавьте следующий код между блоком сервера:

Сохраните и закройте файл, когда вы закончите, проверьте Nginx на наличие ошибок конфигурации с помощью следующей команды:

Если все в порядке, вы должны увидеть следующий вывод:

Наконец, перезагрузите Nginx для того, чтобы изменения вступили в силу:

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

6 Испытание Ngx PageSpeed

Nginx теперь и работает. Теперь настало время проверить, является ли модуль работающим или нет. Вы можете проверить его, выполнив следующую команду:

Вы должны увидеть следующий вывод:

Вы должны увидеть X-Page-Speed ​​и номер версии в выводе выше. Это означает, что вы успешно установили Ngx_pagespeed на сервере.

Вывод

Поздравления! Вы успешно установили Nginx с ​​поддержки модуля Ngx-PageSpeed. Мы надеемся, что теперь вы можете легко установить его в производственной среде. Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

источник

Contents

Share

Sign up for our newsletter.

Get the latest tutorials on SysAdmin and open source topics.

Related

How To Add ngx_pagespeed to Nginx on CentOS 7

Not using CentOS 7? Choose a different version:

Introduction

ngx_pagespeed, or just pagespeed, is an Nginx module designed to optimize your site automatically by reducing the size of its resources and hence the time the clients’ browsers need to load it. If you are not acquainted with it already, please check its official site.

This article will guide you through the installation and configuration of the pagespeed module for Nginx. It’s important to know that Nginx does not support Dynamic Loading of Modules available in other web servers such as Apache. Since Nginx doesn’t support this feature, you need to build Nginx from source to add the module.

Having your own custom package comes with one disadvantage — you are solely responsible for updating it when there is a new version. Take this into account when weighing the pros and cons of using ngx_pagespeed.

Prerequisites

This guide has been written for CentOS 7. An Ubuntu 14.04 version and a Debian 8 version are available as well.

Before following this tutorial, please make sure you complete the following prerequisites:

  • A CentOS 7 Droplet
  • A non-root sudo user (Check out Initial Server Setup with CentOS 7 for details.)

Except otherwise noted, all of the commands that require root privileges in this tutorial should be run as a non-root user with sudo privileges.

Step 1 — Download the Source and Its Dependencies

Let’s start with ensuring we have all the necessary software for the compilation and testing of Nginx. Please run the command:

Next, create a folder in your home directory to download the source package for Nginx:

Change to this newly created directory:

Читайте также:  Установка canon mf3010 в ubuntu linux

Then, download the Nginx source package in this directory from its official site. Currently, the latest version is 1.8.0 and can be downloaded with the command:

After that extract the newly downloaded package with the command:

To confirm we are on the same page, list the content of the folder

The result should look like this:

As you can see, the version of the Nginx source package is 1.8.0 at the time of writing this tutorial. To start adding the ngx_pagespeed module, you first need to go to the modules folder within the extracted folder nginx-1.8.0 :

In this directory, download the latest ngx_pagespeed source archive from its Github repository with the command:

Once the download completes, extract it with the unzip utility like this:

This will create a new directory called ngx_pagespeed-master inside your

/custom-nginx/nginx-1.8.0/src/http/modules/ directory. For convenience rename this directory to just ngx_pagespeed with the command:

Go inside the new ngx_pagespeed directory:

From there, download the PageSpeed Optimization Libraries (psol) which are required for the compilation:

If the link to the psol archive is not working at the time you are reading this article, just skip this step. If you are missing the libraries during the compilation in the next steps, you will see an error with updated instructions for how to get the package later.

Finally, extract the psol package inside the

Step 2 — Configure the Source and Compile It

At this point you are ready to configure the Nginx source and include the pagespeed module. Go to the parent directory of the Nginx source:

There run the configure the source with the command:

The most important configuration option from the above is —add-module=/home/ your_user /custom-nginx/nginx-1.8.0/src/http/modules/ngx_pagespeed/ . It ensures that the pagespeed module will be part of the Nginx compilation. Please make sure to replace your_user with your user in this path.

For convenience, we have customized a few other settings such as the location of the log files and the user/group under which the server should run. For more information on what can be customized please check the documentation for the compile-time options.

Once the configuration completes, start the compilation with the command:

This will take up to ten minutes depending on your droplet’s resources. After that you can install the software with the command:

You can find your custom Nginx installed in the directory /usr/local/nginx . To make it even more convenient, let’s create two symbolic links. First for the configuration files:

This command will allow you to find the configuration files in the /etc/nginx/ directory where usually configuration files reside.

You should also create a symbolic link to the main binary in the /usr/sbin/ directory so that you can find it more easily and include it in the startup script. This will be also needed for the startup script which we’ll use later. For this purpose run the command:

Step 3 — Create the Startup Script

The previous installation process takes care of some mundane tasks such as creating the necessary nobody user and group, under which Nginx will run. However, you still have to create manually startup script. Luckily, for Nginx on CentOS 7 there is already one readily available on nginx.com.

First, create a new file in the directory /etc/init.d/ :

Finally, make this script executable by running the command:

After that you can start Nginx for the first time with the command:

To make sure that Nginx starts and stops every time with the Droplet, add it to the default runlevels with the command:

Step 4 — Enable the Pagespeed Module

You now have Nginx installed. The next step is to enable the ngx_pagespeed module.

Before enabling the module, you have to create a folder, where it will cache the files for your website:

Make sure to change the ownership of this folder to the Nginx user so that the web server can store files in it:

Then open the main Nginx configuration file nginx.conf in your favorite text editor like this:

In this file add the following lines to the server block and save the changes:

Читайте также:  Установка плагинов на hdbox

You can add these lines anywhere in the block, but in our example, we are adding it to the end of the block.

This is how the /etc/nginx/nginx.conf file should look now:

Also, make sure to add pagespeed configuration lines to every additional server block file you may have.

Finally, restart Nginx server for the changes to take effect:

Step 5 — Test the Installation

To check if ngx_pagespeed module has been installed successfully, run the Nginx binary like this:

If the installation was successful, you should see the ngx_pagespeed module listed among the other custom arguments:

The above doesn’t mean yet that the pagespeed is enabled and works for your site. To confirm this you can use curl , a tool and a library for client-side URL transfers. With it check for the X-Page-Speed header like this:

If the ngx_pagespeed module works fine, you should see it in the output along with its version:

If you don’t see this header, make sure that you have enabled pagespeed as per the instructions from the previous step.

Conclusion

That’s how you can build Nginx with a custom module, pagespeed. These steps are valid for any other module that is not already available in Nginx. Furthermore, the whole process for installing a package from source is similar for other software packages you might need to customize. Just don’t forget that you will have to maintain and re-install these packages by yourself when there is a new version.

источник

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

Руководство по установке модуля PageSpeed который предназначенный для автоматической оптимизации работы сайта путём сокращения времени загрузки сайта в браузере.

Загрузка исходного кода и зависимостей

Для начала нужно загрузить все необходимые для компиляции и тестирования программы:

Затем создайте в домашнем каталоге папку для загрузки пакета Nginx.

Далее загрузите исходный пакет Nginx с официального сайта.

Распакуйте полученный архив:

Чтобы добавить модуль ngx_pagespeed, нужно сначала открыть папку modules в каталоге nginx-1.12.2:

В этот каталог нужно загрузить архив ngx_pagespeed из репозитория Github.

После завершения загрузки разархивируйте архив:

Это создаст новый каталог ngx_pagespeed-master в каталоге

/custom-nginx/nginx-1.12.2/src/http/modules/. Для удобства переименуйте его в ngx_pagespeed:

Загрузите в него пакет PageSpeed Optimization Libraries (psol), необходимый для компиляции:

Если ссылка на архив psol не сработала, пропустите этот шаг. Если система обнаружит нехватку библиотек во время компиляции, она выдаст сообщение об ошибке с подробными инструкциями о том, как получить необходимый пакет.

В завершение извлеките архив psol в каталог

Настройка и компиляция исходного кода

Теперь нужно отредактировать код Nginx и добавить в него модуль pagespeed. Откройте родительский каталог кода Nginx:

Далее нужно настроить код:

Замените компонент your_user именем своего пользователя. Самая важная настройка – это —add-module=/home/your_user/custom-nginx/nginx-1.12.2/src/http/modules/ngx_pagespeed/. Именно она добавляет pagespeed в компиляцию Nginx.

Завершив настройку, запустите компиляцию:

После этого можно установить программу:

Пользовательская установка Nginx хранится в каталоге /usr/local/nginx. Теперь нужно создать две символьные ссылки.

Одна из них – на конфигурационный файл:

Теперь конфигурационные файлы будут доступны в каталоге /etc/nginx/.

Вторая ссылка – на главный бинарный файл в каталоге /usr/sbin/. Для этого выполните команду:

Создание сценария запуска

Предыдущий процесс установки выполняет несколько рутинных задач (создание необходимой учётной записи пользователя и группы, при помощи которых будет работать Nginx).

Для начала создайте новый файл в каталоге /etc/init.d/:

Затем перейдите по этой ссылке, скопируйте скрипт и вставьте его в файл.

Сделайте скрипт исполняемым, запустив команду:

После этого можно запустить Nginx:

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

Включение модуля pagespeed

После установки сервера Nginx нужно включить ngx_pagespeed.

Но сначала нужно создать папку, в которой модуль сможет хранить кэш файлов сайта:

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

Откройте главный конфигурационный файл Nginx, nginx.conf, для редактирования:

Добавьте в блок server следующие строки и сохраните изменения:

Этот код можно добавить в любую точку данного раздела; но в данном примере этот код будет добавлен в конец блока.

Теперь файл /etc/nginx/nginx.conf выглядит так:

Конфигурацию pagespeed нужно добавить во все существующие блоки server.

источник

Добавить комментарий