WikiDer > Веб-сервер TUX

TUX web server

В Веб-сервер 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]

Смотрите также

Рекомендации

внешняя ссылка