ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут
- Puppy Linux -
Хороший друг


ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один
- Linux Mint -
С родинкой на щеке!
- CentOS -
Копейка рубль бережёт!
- Fedora -
По следам Red Hat
- Ubuntu Linux -
Мы одной крови!
- Mageia -
Красота и удобства
- openSUSE -
Настоящее немецкое качество
- Slackware -
Линукс из кубиков
- ALT Linux -
Что русскому хорошо





ДЛЯ ДЕЛА: РОЛЛЫ

- ArchLinux -
Гениальное - просто!
- PCLinuxOS -
Просто линукс
- Aptosid -
Почувствуй силу!


ДЛЯ ДЕЛА: СОБЕРИ САМ

- Gentoo -
Каждому своё
- LinuxFromScratch -
Линукс с нуля


ДЛЯ ДЕЛА: ЛЁГКИЕ

- DeLiCate -
Старость в радость!
- SLAX -
Тысяча и один модуль


ЗАЩИТА

- OpenWall -
Не стучите, закрыто!
- Kali -
Вам, хакеры!


ПРИЛОЖЕНИЯ

- Planet CCRMA -
Работа со звуком
- VegaStrike -
Каждому по планете!


ЭКСПЕРИМЕНТ

- коЛинуксы -
Не выходя из Виндоус
- GoboLinux -
Очевидно и вероятно
- ReactOS -
Освободите Виндоус!


РОДНЯ

- BSD-семейство -
На плечах гигантов
- OpenIndiana -
До звёзд рукой подать


АРХИВ (2003-2016)
ФОРУМ




НАШИ ПРОЕКТЫ

MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ
ПИНГВИН В КАРМАНЕ
ЗАКЛАДКИ
СТАТЬИ
КОНТАКТЫ


ПОМОЧЬ






Личный архив ЕЗ

Знакомьтесь, веб-сервер TUX!

Vinayak Hegde, Игорь Яровинский, Linux Gazette

Если Вы рассчитываете найти в этой статье информацию о пингвине Туксе (Tux), который стал талисманом ОС Linux, то мне придется Вас разочаровать. Но не расстраивайтесь: эта статья расскажет Вам о веб-сервере TUX.

Слово TUX происходит от Threaded linUX webserver. Он был создан корпорацией Red Hat и базируется на ядрах серии 2.4, являясь подсистемой, которая работает на уровне ядра. TUX распространяется по лицензии GNU GPL, а это значит что Вы в праве модифицировать эту программу согласно своим требованиям. Один из способов приспособить её к нашим потребностям - это написать TUX-модули, которые могут быть как модулями пользовательского уровня, так и уровня ядра. Основной целью создания TUX было создание мощного веб-сервера на базе Linux - операционной системы, которую все чаще и чаще используют в качестве платформы для веб-серверов.

TUX по сравнению с Apache имеет несколько ограничений и в тоже время является полным HTTP/1.1 сервером, который поддерживает постоянное ведение логов, конвейерную обработку (pipelining), выполнение CGI, виртуальные сервера, различные модули и многое другое.

Что TUX может сделать для меня?

Первые версии TUX использовались прежде всего для обслуживания страниц со статическим содержимым, оставляя генерирование и обслуживание динамически создаваемых страниц таким веб-серверам как Apache. В новых версиях TUX появилась возможность обслуживать страницы с динамическим содержимым. Специально написанные модули для этого веб-сервера могут создавать упорядоченные "объекты" используя кеш. На запрос динамической страницы TUX-модуль отправляет динамически сгенерированную информацию и заранее созданные "объекты", которые уже находятся в кеше. Таким образом, большинство запросов связанных с обычным копированием по сети могут быть эффективно обработаны, если используется TUX-веб-сервер.

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

Итак, приступим к изучению TUX

Теперь, когда мы знаем, что можно сделать используя TUX, можно переходить к его установке и настройке. Вся последующая информация была проверена на Red Hat 7.2 с использованием TUX-2.1.0-2.

Шаг 1: установка

Проверьте, установлен ли у Вас TUX.

Для этого в командной строке наберите:

# rpm -q tux

В результате Вы получите одно из сообщений:

1. tux-2.1.0-2 (TUX установлен, и показана версия программы)

2. пакет tux не установлен (значит нужно устанавливать)

(В RedHat8.0 включена версия tux-2.2.7-3. В этой и последующих версиях меньше недостатков и больше опций для конфигурирования, некоторые из которых рассматриваются далее - прим. перев.)

Если TUX не установлен, то это очень просто исправить:

1. Установка из RPM

Зайдите в каталог, где Вы храните RPM-файлы и выполните команду

# rpm -ivh tux-2.1.0-2.i386.rpm

2. Установка из исходников

(Установка из исходников займет намного больше времени - прим. перев.)

Для начала необходимо пропатчить и откомпилировать ядро:

# patch -p0 < tux2-full-2.4.10

# make oldconfig (подключите TUX, перекомпилируйте и установите ядро)

Установите необходимые утилиты:

# tar xzvf tux-2.1.0.tar.gz

# cd tux-2.0.25

# make

# make install

Шаг 2: Настройка

Создайте каталог /var/www/html (или другой каталог по Вашему выбору) и сделайте его корневым каталогом для TUX, изменив значение DOCDIR в /etc/sysconfig/tux . Кроме этого можно задать каталог, где будут содержатся CGI-сценарии, изменив значение для CGIROOT. Создайте файл index.html в корневом каталоге сервера (/var/www/html ) и переходите к шагу 3.

Шаг 3: Запуск

TUX можно запустить, используя команду (для этого нужно иметь права root):

# service tux start (на RedHat подобных системах)

# ./tux.init start (на non-RedHat системах)

# lsmod

Module size Used by

tux 75568 0

....

....

Теперь запустите свой любимый браузер и зайдите на localhost

# lynx localhost

Если все настройки верны, то вы зайдете на первую страницу (index.html) только что установленного веб-сервера!

Шаг 4: Ведение лог-файлов

По умолчанию создание логов отключено. Для ведения лог-файлов выполните следующие команды:

# echo 1 > /proc/sys/net/tux/logging

# echo 1 > /proc/sys/net/tux/referer_logging

# cat /proc/sys/net/tux/logfile

Для каждого подключения TUX записывает в файл /var/log/tux (используется по умолчанию) адрес, дату, время и размер выкаченной информации. Файл /var/log/tux хранится в бинарном формате. В таком виде он получается на 50% меньше аналогичных ASCII-файлов. Для просмотра логов нужно выполнить команду:

# tux2w3c /var/log/tux

127.0.0.1 - - Wed Nov 20 00:22:24 2002 "GET /manual/sections.html HTTP/1.1" - 5523 200

127.0.0.1 - - Thu Nov 21 01:36:55 2002 "GET / HTTP/1.0" - 2890 200

127.0.0.1 - - Thu Nov 21 01:37:20 2002 "GET /manual/index.html HTTP/1.0" - 5557 200

127.0.0.1 - - Thu Nov 21 01:37:24 2002 "GET /manual/mod/index-bytype.html HTTP/1.0" - 6186 200

Программа tux2w3c конвертирует бинарные лог-файлы в стандартные W3C HTTPD лог-файлы.

Шаг 5: Включение gzip-сжатия

Как нам уже известно, TUX способен "увеличить скорость" работы клиентов в Internet. Используя gzip-сжатие можно уменьшить время загрузки информации, но при этом и клиент должен поддерживать возможность работы с gzip-сжатыми данными. По умолчанию gzip-сжатие в TUX отключено, для его включения необходимо выполнить следующую команду:

# echo 1 > /proc/sys/net/tux/compression

Для включения gzip-сжатия при запуске, добавьте в файл /etc/sysctl.conf строку:

net.tux.compression=1

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

Шаг 6: Дополнительная настройка TUX

Мы еще не завершили настройку TUX. Есть еще несколько интересных (полезных) вещей, которые Вы можете использовать (некоторые из них доступны только в RHCA v2.2)

* application_protocol

Если установлен в 1, то включает RHCA FTP сервер. По умолчанию установлен в 1.

* virtual_server

Если установлен в 1, то запускает на машине виртуальный хостинг. Корневой каталог для виртуального хоста создается в $DOCROOT/ (virtual docroots).

* http_dir_indexing

Если установлен в 1, то при отсутствии index.html-файла будет отображено содержимое данного каталога.

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

Шаг 7: Конфигурирование Apache для работы с TUX

В нашей системе TUX будет использоваться как внешний веб-сервер на 80-том порту. Apache будет использоваться как внутренний веб-сервер на порту 8080 для обработки запросов, которые TUX не понимает. Для этого необходимо сделать некоторые поправки в файле конфигурации Apache (httpd.conf):

замените строку

Port 80

строкой

Port 8080 (порт, который слушает Apache)

Также, для предотвращения обхода TUX и прямого доступа к Apache необходимо сделать следующие изменения. Этого требует безопасность системы:

замените строку

BindAddress *

строкой

BindAddress 127.0.0.1 (loopback address)

А теперь перезапустите TUX, выполнив:

# service httpd restart

Шаг 8: Отладка и запуск TUX

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

# service tux stop (на RedHat подобных системах)

или

# ./tux-init stop (на non-RedHat системах)

# service tux restart

или

# ./tux-init restart

В целях отладки можно использовать скрипт gettuxconfig, который находится в /usr/share/doc/tux-version/ . Если Вы используете SMP-систему, то можете проверить правильно ли настроены все сетевые интерфейсы используя скрипт checkbindings. Этот скрипт также находится в каталоге /usr/share/doc/tux-version/ .

Заключение

Как мы видим [Ну, этого из самой статьи не видно, но уверен, если Вы попробуете настроить и использовать TUX, то это станет более очевидным. Прим.ред.], TUX позволяет улучшить производительность работы веб-сервера. Он очень удобен и прост в конфигурировании, а также имеет множество интересных особенностей.

Удачного хака!!!

Ссылки

* Последние версии TUX


При частичной или полной перепечатке, переводе, переработке материалов сайта ссылка на Knoppix.ru обязательна.
(c) Knoppix.ru 2003 - 2016