Yellow Leaf

Yellow Leaf


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


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


Последние комментарии к новостям и статьям
Re: Использование нескольких интернет-каналов для повышения надёжности соединения
Re: Доступн для загрузки пакет с играми для Ubuntu Linux - GamePack 9.10.2
Re: Вышла новая версия библиотеки QRemoteSignal
Re: Организация трансляции потока с веб-камеры с помощью ffserver
Re: Общий принтер в локальной сети на 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
Не получаеться поднять VPN сервер на Ubuntu server 10.04
Нужен логопед, срочно
Словить процесс
проблемы с разделом жесткого диска


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


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


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

4736749


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


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


 

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

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

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-2010 Вадим Калинников aka MooSE
Сайт размещён на VPS от Агава


Женская одежда, куртки, пальто опт в Москве. Пальто женское в Москве оптом в продаже.