| Auto с аукционов США|COPART|IAAI|MANHEIM |

mod_pagespeed Настройка

Создано A. Daniley .Разместил в категорию Debian, Linux, Ubuntu

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

mod_pagespeed использует Apache-«выходной фильтр» плюс несколько обработчиков содержимого.

Примечание: Местоположение файла конфигурации зависит от дистрибутива Linux, на котором установлен mod_pagespeed.

В Debian/Ubuntu Linux дистрибутивах, файл конфигурации находится в:

/etc/apache2/mods-available/pagespeed.conf

В CentOS/Fedora, путь будет такой:

/etc/httpd/conf.d/pagespeed.conf

mod_pagespeed директивы конфигурации начинаются и заканчиваются командой IfModule:

<IfModule pagespeed_module>
 ....
 </IfModule>

Настройка обработчиков

mod_pagespeed содержит три обработчика:

Обработчик по умолчанию для обслуживания оптимизированных ресурсов.

mod_pagespeed_statistics: показывает статистику сервера с момента запуска, из которого можно вычислить среднюю задержку и таким образом измерить эффективность различных правил.

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

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

# Раскомментируйте следующую строку, если вы хотите полностью отключить статистику.

ModPagespeedStatistics off

# Эта строка показывает статистику о модуле mod_pagespeed.

<Location /mod_pagespeed_statistics>
 Order allow,deny

# можно вставлять другие команды «Allow from» для добавления узлов которым разрешено смотреть статистику.

Allow from localhost
Allow from 127.0.0.1
SetHandler mod_pagespeed_statistics
</Location>

# Обработчик клиентских обратных вызовов которые вводят в add_instrumentation filter.

<Location /mod_pagespeed_beacon>
SetHandler mod_pagespeed_beacon
</Location>

Настройка фильтра вывода

Выходной фильтр используется для синтаксического анализа, оптимизации и ресирелиализации (фух слово то какое) содержимого HTML, созданного в сервере Apache.

# для передачи вывода в формате HTML в обработчик mod_pagespeed вывода.

AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html

mod_pagespeed автоматически разрешает mod_deflate для сжатия.

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

Выключение mod_pagespeed

Выключение mod_pagespeed выполняется через pagespeed.conf:

ModPagespeed off

Эти директивы могут использоваться в файлах .htaccess и Directory областях

Включение mod_pagespeed

Включение mod_pagespeed, выполняется через pagespeed.conf:

ModPagespeed on

Поддержка Apache 2.4.x

mod_pagespeed совместим с Apache 2.2.x и 2.4.x, версии 2.4.2 и новее. Пожалуйста, обратите внимание, что Apache 2.4.1 имеет ошибку, которая может вызвать проблемы со стабильностью в сочетании с mod_pagespeed, поэтому настоятельно не рекомендуется использовать с 2.4.1.

Apache 2.4 не совместимы с API 2.2, поддержка оказывается через отдельный модуль mod_pagespeed_ap24.so вместо используемого mod_pagespeed.so.

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

В CentOS более ранних версий возможно конфиг pagespeed.conf, нужно будет редактировать вручную.

Если вы компилировали  mod_pagespeed с двумя серверами разных версий 2.2.x и 2.4.x вам нужно добавить  LoadModule команду в вашу версию web сервера:

<IfModule !mod_version.c>
LoadModule version_module /usr/lib/apache2/modules/mod_version.so
</IfModule>
<IfVersion < 2.4>
LoadModule pagespeed_module /usr/lib/apache2/modules/mod_pagespeed.so
</IfVersion>
<IfVersion >= 2.4.2>
LoadModule pagespeed_module /usr/lib/apache2/modules/mod_pagespeed_ap24.so
</IfVersion>

Для автоматической настройки.

Vary Headers

Для того, чтобы максимально увеличить количество ресурсов mod_pagespeed можно переписать, по умолчанию модуль Vary: User-Agent и другой Vary заголовков в ресурсах файлов, Например, JavaScript и css файлов. Игнорируя Vary заголовки, mod_pagespeed может сократить размер кэша .mod_pagespeed всегда будет писать Vary: Accept-Encoding, независимо от данного параметра mod_pagespeed всегда будет писать Vary заголовки в HTML файлах, независимо от данного параметра .

Если на сайте есть ресурсы, которые законно различаются в User-Agent, или других атрибутов, нужно добавить:

ModPagespeedRespectVary on

в конфиг файл.

Обратите внимание, что включение этого параметра будет отключить оптимизации каких-либо ресурсов с заголовками Vary headers, помимо Vary: Accept-Encoding.

Имена элементов и атрибутов HTML в нижнем регистре

HTML не учитывается регистр, тогда как XML и XHTML наоборот. Для web производительности рекомендуется использовать нижний регистр ключевых слов, и mod_pagespeed может безопасно сделать это преобразование в HTML-документах.

В общем mod_pagespeed знает, является ли документ HTML или нет, благодаря Content-Type тегам заголовков HTTP и DOCTYPE.

Однако, многие веб-сайты имеют тип содержимого: text/html для ресурсов, которые являются на самом деле XML-документом.

Иногда можно добиться сжатия страниц:

ModPagespeedLowercaseHtmlNames on

Эти директивы могут использоваться в файлах .htaccess и <Directory>.

Риски

Эта команда рискованна только при наличии XML-файлов, которые подаются неправильно с типом содержимого Content-type: text/html.

атрибут нижнего регистра XML-элемента может повлиять на любое программное обеспечение которое производит чтение XML.

Сохранение HTML кэширования заголовков

По умолчанию, mod_pagespeed обслуживает все HTML с Cache-Control: no-cache, max-age = 0, потому что преобразование страницы не может быть кэшировано для длительных периодов времени.

Если вы хотите, заставить mod_pagespeed — оставить исходный html код кэширования заголовков можно добавить:

ModPagespeedModifyCachingHeaders off

Но компания Google крайне не рекомендует выключать этот модуль.

Указание значения для заголовка X-Mod-Pagespeed

По умолчанию mod_pagespeed добавляет заголовок X-Mod-Pagespeed со значением версии mod_pagespeed. Эта директива позволяет задать значение:

ModPagespeedXHeaderValue "Powered By mod_pagespeed"

Примечание: Нельзя подавлять инъекции этого заголовка. Потому, что он используется для предотвращения ненужного зацикливания и переписывает, когда mod_pagespeed извлекает ресурсы из происхождения, которые также используют mod_pagespeed..htaccess файлы и Directory

Htaccess файл может использоваться для управления большинства директив в mod_pagespeed.

По сути это одно и тоже.

Заметьте, однако, что соответствие файла подразумевает <Directory>область, или в каталоге файл .htaccess, относится только к HTML-файлу, а не любому из ресурсов, на которые имеются ссылки из файла HTML.

Чтобы ограничить ресурсы, каталог, необходимо использовать ModPagespeedAllow и ModPagespeedDisallow директивы, описанные выше, с использованием полного пути или подстановочные знаки в этих директивах.

Предупреждение: Ресурсы и HTML-файлы, ссылающиеся на них должны иметь те же параметры. Если они отличаются может появиться низкая производительность и непоследовательное применение параметров.

Директивы не используемые в .htaccess и <Directory>

  • ModPagespeedFetchWithGzip
  • ModPagespeedFetcherTimeoutMs
  • ModPagespeedFileCacheCleanIntervalMs
  • ModPagespeedFileCachePath
  • ModPagespeedFileCacheSizeKb
  • ModPagespeedImageMaxRewritesAtOnce
  • ModPagespeedLRUCacheByteLimit
  • ModPagespeedLRUCacheKbPerProcess
  • ModPagespeedLoadFromFile
  • ModPagespeedNumRewriteThreads
  • ModPagespeedNumExpensiveRewriteThreads
  • ModPagespeedXHeaderValue

Директивы которые можно использовать в .htaccess и <Directory>

  • ModPagespeed
  • ModPagespeedAllow
  • ModPagespeedAvoidRenamingIntrospectiveJavascript
  • ModPagespeedBeaconUrl
  • ModPagespeedCombineAcrossPaths
  • ModPagespeedCssFlattenMaxBytes
  • ModPagespeedCssImageInlineMaxBytes
  • ModPagespeedCssInlineMaxBytes
  • ModPagespeedCssOutlineMinBytes
  • ModPagespeedDisableFilters
  • ModPagespeedDisallow
  • ModPagespeedDomain
  • ModPagespeedEnableFilters
  • ModPagespeedImageInlineMaxBytes
  • ModPagespeedImageLimitOptimizedPercent
  • ModPagespeedImageLimitResizeAreaPercent
  • ModPagespeedJpegRecompressionQuality
  • ModPagespeedJsInlineMaxBytes
  • ModPagespeedJsOutlineMinBytes
  • ModPagespeedLowercaseHtmlNames
  • ModPagespeedMapOriginDomain
  • ModPagespeedMapRewriteDomain
  • ModPagespeedMaxHtmlParseBytes
  • ModPagespeedMaxInlinedPreviewImagesIndex
  • ModPagespeedMinImageSizeLowResolutionBytes
  • ModPagespeedModifyCachingHeaders
  • ModPagespeedRetainComments
  • ModPagespeedRewriteLevel

Преимущество .htaccess заключается в том, что он может использоваться в средах, где администратор сайта не имеют доступа к конфигурации Apache.

Однако существуют значительные каждого запроса накладные расходы от обработки .htaccess файлов.

Примечание: Вы должны избегать использования .htaccess файлов полностью, если у вас есть доступ к основной сервер конфигурационный файл httpd.

.htaccess файлы замедляют работу вашего сервера Apache. Все директивы, которые можно включить в файл .htaccess лучше установить в <Directory> блок, эффект тот же но быстрее

Еще один механизм можно использовать для настройки mod_pagespeed для нескольких различных сайтов является VirtualHost.

Использование mod_pagespeed и Virtual Hosts

По умолчанию mod_pagespeed устанавливается для всего сервера Apache, включая все VirtualHosts.

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

Пример настройки multi-server.

Самый основной подход это просто скопировать все настройки в каждый VirtualHost и выключить globaly. Например начиная с директив VirtualHost от Apache 2.0 пример:

# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>

Если мы хотим иметь mod_pagespeed на www.example2.com, но не www.example1.com, мы могли бы изменить его:

# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here
# Turn on mod_pagespeed. To completely disable mod_pagespeed, you can set this
# to "off".
ModPagespeed on
# The ModPagespeedFileCachePath directory must exist and be writable by the
# apache user (as specified by the User directive).
ModPagespeedFileCachePath "/var/cache/mod_pagespeed/"
# Other ModPagespeed directives here ...
# This page lets you view statistics about the mod_pagespeed module.
<Location /mod_pagespeed_statistics>
Order allow,deny
# You may insert other "Allow from" lines to add hosts you want to allow to
# look at generated statistics. Another possibility is to comment out the
# "Order" and "Allow" options from the config file, to allow any client that
# can reach your server to examine statistics. This might be appropriate in
# an experimental setup or if the Apache server is protected by a reverse
# proxy that will filter URLs in some fashion.
Allow from all
SetHandler mod_pagespeed_statistics
</Location>
</VirtualHost>
Теперь мы ставим mod_pagsepeed «Off» в pagespeed.conf:
<IfModule pagespeed_module>
# Turn on mod_pagespeed. To completely disable mod_pagespeed, you
# can set this to "off".
ModPagespeed off
# Direct Apache to send all HTML output to the mod_pagespeed
# output handler.
AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
# …

В следующей статье вы узнаете как конфигурирывать фильтры mod_pagespeed.

Уведомить с этого сайта.

Коментариев (1)

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