Yellow Leaf

Yellow Leaf


Поиск по сайту


Вход
Правила портала
Регистрация
Забыли пароль?
О команде проекта
Справка по оформлению постов


Последние комментарии к новостям и статьям
Re: Установка и настройка approx в Ubuntu
Re: Учёт трафика локальной сети с помощью fprobe и flow-tools
Re: Jabber-транспорт для vkontakte.ru
Re: Gentoo: Администрирование посредством VNC
Re: VLAN и Linux
Ещё комментарии >>>


Новые файлы
Debian: cue2tracks_0.2.11_all (Дополнение для CUE 2 Tracks v0.2.11)
Gentoo: cue2tracks-0.2.11 (Дополнение для CUE 2 Tracks v0.2.11)
CUE 2 Tracks v0.2.11
Jabber-Shell 20090303
EasySoft AutoRun 0.4.1


Новое на форуме
Движок сайта. версия 2.0
ошибка при установке rpm
Gentoo distfiles?
mpd/mpc,русские теги
Настройка Exim+uucp


Проекты
Jabber-Shell
Qmmp
QStarDict
PHPSAAdmin


 
   


Друзья сайта
 Open Kazan - Казанское сообщество пользователей OpenSource 


Посетителей с 08.09.2006

3097947


Внешний вид портала


RSS-Ленты
Новости
Файлы
LUG


 

   
  Яндекс цитирования  

«Жёлтый Лист» - cайт о мире юникс
Новости Форум Статьи Файлы LUG Пользователи
   

mod_deflate или экономный apache

MooSE 2008-03-18 14:00:51

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

Реализовать сжатие страниц на сервере достаточно просто. В этой статье будет показано как настроить сжатие страниц на веб-сервере apache2 под управлением Debian/Ubuntu Linux.

Итак. Будем считать что веб-сервер установлен. Так же установлены все необходимые модули. Включаем в apache mod_deflate и перезапускаем apache:

ln -s /etc/apache2/mods-available/deflate.* /etc/apache2/mods-enabled/
apache2ctl restart

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

w3m -dump_head http://127.0.0.1/

Вывод команды должен выглядеть примерно вот так (жирным отмечено то, на что следует обратить внимание):

HTTP/1.1 200 OK
Date: Tue, 18 Mar 2008 10:20:40 GMT
Server: Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.3
X-Powered-By: PHP/5.2.3-1ubuntu6.3
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 20
Connection: close
Content-Type: text/html

Однако у модуля mod_deflate есть множество настроек, которые позволяют управлять сжатием а так же записывать в логи информацию о сжатии.

В Ubuntu/Debian эти настойки хранятся в файле /etc/apache2/mods-available/deflate.conf. По умолчанию этот файл имеет вид:

<IfModule mod_deflate.c>
          AddOutputFilterByType DEFLATE text/html text/plain text/xml
</IfModule>

Все доступные настройки описаны на этой странице. Рассмотрим только некоторые из них.

Во-первых конечно же нам интересна степень сжатия. По умолчанию она равна степени сжатия по умолчанию для библиотеки zlib. Т.е. 6. Возможные значения - от 1 (слабое сжатие) до 9 (максимальное сжатие). Добавим строчку, описывающую максимальное сжатие. Файл примет вид:

<IfModule mod_deflate.c>
          AddOutputFilterByType DEFLATE text/html text/plain text/xml
          DeflateCompressionLevel 9
</IfModule>

Далее определим дополнительные типы файлов, которые тоже не плохо бы сжимать:

<IfModule mod_deflate.c>
          AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
          DeflateCompressionLevel 9
</IfModule>

Наконец определим новый формат лога - deflate (зачем это нужно - станет ясно дальше):

<IfModule mod_deflate.c>
          AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
          DeflateCompressionLevel 9
          DeflateFilterNote Input instream
          DeflateFilterNote Output outstream
          DeflateFilterNote Ratio ratio
          LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
</IfModule>

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

CustomLog /var/log/apache2/virtualhostname-deflate.log deflate

Лог будет иметь следующий вид:

"запрос" сжатый_размер/реальный_размер сжатие%

При желании можно написать простенький скрипт для разбора этого лога (оставим это читателю:)). Автор надеется что эта информация была полезной.

Ключевые слова: apache mod_deflate gzip zlib

Версия для печати


Вы должны быть зарегистрированы, чтобы открывать новые темы и отвечать на имеющиеся


Если материалы с этого сайта оказались вам полезны - Вы можете поддержать этот проект переведя на его счёт любую сумму, какую сточтёте нужным.

рублей


Обратная связь


© 2006-2009 Вадим Калинников aka MooSE