WikiDer > Веб-сервер TUX
В Веб-сервер TUX является веб-сервер в ядре за Linux под лицензией Стандартная общественная лицензия GNU (GPL). Это поддерживалось Инго Мольнар.
В настоящее время он ограничен обслуживанием статические веб-страницы и координация между пространством ядра модули, пространство пользователя модули и обычный пользовательский веб-сервер демоны которые предоставляют динамический контент. Обычные веб-серверы пользовательского пространства не нужно каким-либо образом изменять, чтобы TUX мог с ними взаимодействовать. Однако код пользовательского пространства должен использовать новый интерфейс, основанный на смокинг (2)
системный вызов.
Основные отличия TUX от других веб-серверов:
- TUX частично работает в настроенной версии Ядро Linux и частично как демон пользовательского пространства.
- С способным сетевая карта, TUX позволяет разбросать DMA из кеша страниц прямо в сеть.
- TUX может обслуживать только статические веб-страницы.
Хотя возможность обслуживать только статические веб-страницы можно рассматривать как существенный недостаток, TUX имеет одно существенное преимущество: он может обслуживать страницы быстрее, чем традиционные веб-серверы. Во многом это связано с тем, что он расположен непосредственно в ядре, где он может повысить производительность, используя возможности, недоступные традиционным веб-серверам, которые работают вне ядра. Однако это также означает, что TUX не генерирует динамический контент. Поскольку он выполняется в ядре, такой динамический контент не может использовать функции, которые ядро предоставляет программам пользовательского пространства, и может создать огромные проблемы с безопасностью.
TUX способен запускать CGI программы для предоставления динамического контента. Однако CGI страдает существенными ограничениями производительности, поэтому сайт с большим количеством CGI не получит преимущества в производительности от использования TUX. TUX также может перенаправить любой запрос, который он не может обработать, традиционному демону веб-сервера пользовательского пространства, например Apache или же lighttpd. Это позволяет TUX обрабатывать как динамический контент, так и ошибки более безопасным, быстрым и RFC-правильно.
TUX никогда не был интегрированной частью официального ядра Linux, хотя он входил в состав некоторых дистрибутивов, в частности Красная шляпа, SuSE и Fedora. Он служил испытательной площадкой (и мотиватором) для многих функций, которые были интегрированы отдельно. Одним из основных компонентов было Собственная библиотека потоков POSIX, который при правильных параметрах настройки позволяет веб-серверам пользовательского пространства обслуживать веб-страницы со скоростью, очень близкой к скорости веб-сервер kernelspace как TUX, но без ограничений.[нужна цитата] Разработчики ядра ядра также утверждали, что наличие HTTP-демона внутри ядра опасно.[нужна цитата] Например, распространенная ошибка, такая как переполнение буфера внутри TUX может дать злоумышленнику суперпользователь контроль над машиной. Следовательно, гораздо безопаснее держать демон HTTP полностью в пользовательском пространстве, где ошибка не обязательно дает злоумышленнику полный контроль.
Статус проекта
Сегодня в TUX нет необходимости - ядро 2.6 может обеспечивать почти такую же производительность обслуживания статических файлов, как ядро 2.4 с TUX, а стабильность значительно лучше. TUXdied, потому что он больше не служит цели.
Если вы хотите очень эффективно обслуживать статические файлы и хотите поддерживать большое количество одновременных HTTP-сеансов, есть несколько современных вариантов. Думаю, сейчас фаворитом является Nginx.[1]