Мы прошли долгий путь с момента выпуска первого веб-сервера.

Теперь есть так много более интересных вариантов.

Разные проекты имеют разные потребности, но мир веб-серверов с открытым исходным кодом был более или менее монополистом.

В течение долгого времени, Apache был единственным вариантом, и обработка высоких нагрузок была проблемой на бэкенде.

К счастью, времена изменились, и появились новые решения для специализированных нужд.

Итак, давайте посмотрим на некоторые из лучших и самых популярных веб-серверов с открытым исходным кодом, доступных сегодня.

Apache

Это почти синоним Всемирной паутины, и он до сих пор поддерживает большинство веб-сайтов в мире.

Причиной доминирования Apache является три момента: открытая лицензия, раннее вступление в игру (эта штука была выпущена еще в 1995 году!) и простое развертывание PHP.

Последнее стало возможным благодаря модулю mod_php, что означало, что установка Apache — это все, что вам нужно сделать для разработки на PHP.

Вот что еще делает Apache великолепным:

  • Доступен на всех платформах — Linux, Windows, MacOS и других платформах.
  • Это сервер по умолчанию для всех общих хостингов CPanel, что позволяет легко настраивать и изменять сайты.
  • Тонны функциональности, предлагаемые через большую коллекцию модулей. Независимо от того, насколько сложны ваши потребности, у Apache обязательно будет существующий модуль.
  • Конфигурация для каждого каталога через файлы .htaccess.
  • Поддержка HTTP/2, сжатие, статические файлы и балансировка нагрузки.
  • Режимы MPM и FastCGI для обеспечения высокого параллелизма.
  • Легкий скриптинг через Lua.

Apache подходит для вас?

Было время, когда Nginx (который мы рассмотрим далее) взлетел из-за своей высокой производительности, но Apache догнал его после выпуска 2.2.

Тем не менее, как и все ранние веб серверы, Nginx отнял много внимания, чтобы вы могли столкнуться с некоторой (недействительной) критикой его возможностей.

Nginx

Если вам нравится следить за «последними» событиями  вполне вероятно, что вы слышали о Nginx (произносится как «engine-x»), и это была идея имени).

Он был выпущен как проект в 2002 году российским инженером, которому надоела неспособность существующих на тот момент решений справиться с проблемой CK10 (в основном, с обработкой тысяч одновременных подключений).

Когда вышел Nginx, он произвел такой большой всплеск, что люди просто отошли от Apache и никогда не оглядывались назад.

И эта тенденция продолжается и сегодня.

Хотя Apache сегодня, пожалуй, с ним  на одном уровне, Nginx предложил несколько потрясающих улучшений, которые помогли ему победить.

  • Асинхронная архитектура для обработки высоких нагрузок
  • Лучшая в своем классе статическая обработка файлов, балансировка нагрузки и возможности обратного прокси.
  • FastCGI кеширование
  • Поддержка uwsgi, SCGI и других серверных протоколов с кэшированием.
  • Gzipping, преобразование изображения, диапазоны байтов, фрагментированные ответы и т. д. с потоковой передачей FLV и MKV.
  • WebSockets, keepalive и конвейерные соединения
  • Контроль доступа, перенаправление ошибок и т. д.

В общем и целом, Nginx — это мощная система с множеством функций, которые позволяют ей идти впереди.

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

Если вам нравится создавать веб-приложения по своему вкусу, Nginx — это хороший выбор.

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

Caddy

Caddy — одна из самых интересных новых платформ, вызывающих обсуждения в сообществе open source.

Считайте Caddy Nginx-подобным веб-сервером (схожий синтаксис и все такое), но он упрощает все до приятной крайности.

Например, интеграция Let Encrypt для SSL может быть выполнена всего в три строки конфигурации.

Вот почему Caddy привлекает массу внимания:

  • HTTPS включен по умолчанию. Да, вам не нужно ничего делать для установки или обновления SSL-сертификатов.
  • HTTP/2 получает основное внимание.
  • Заменяет ключи билета сеанса TLS по умолчанию. Это обеспечивает намного более безопасное управление соединением TLS, которое не уязвимо для подобных Heartbleed решений.
  • Нет зависимостей (это скомпилированная Golang двоичная кодовая база, которая не зависит ни от каких системных библиотек)
  • Обслуживает статические файлы в текущем каталоге по умолчанию!
  • Встраиваемый — может использоваться как библиотека в других программа

Если вы жаждете простоты и не хотите работать с непонятными конфигурациями, такие как Apache и Nginx,с Caddy  вы почувствуете себя как на свежем воздухе.

Тем не менее, он работает лучше всего, когда вы принимаете настройки по умолчанию.

Например, если вы хотите использовать свой провайдер SSL или иметь отдельный каталог для статических файлов (что почти всегда так и есть ) и т. д., преимущества исчезают.

Lighthttpd

Единственная область, в которой большинство современных веб-серверов отказывают, — это использование ресурсов.

Lighthttpd был разработан для преодоления этих проблем в средах с небольшим объемом памяти и с низким использованием процессора.

Lighthttpd построен на модели асинхронной обработки запросов и, таким образом, отражает работу Nginx.

Но есть одна загвоздка — Lighthttpd работает в одном потоке, поэтому, если у вас более мощная машина, она будет игнорировать другие ядра процессора.

В нем также отсутствуют более интересные функции Nginx, такие как SSL-прокси, HTTP/2 и тому подобное.

Lighthttpd — это однопоточный веб-сервер, который может легко обрабатывать несколько сотен запросов в секунду и при этом легко обрабатывать системные ресурсы.

Кроме этого, он не может предложить многое по сравнению с альтернативами.

Так что, может быть, если вам не нужны все прибамбасы — и вы действительно переживаете за машинные ресурсы — стоит взглянуть на Lighthttpd.

MonkeyServer

Несмотря на странное название, веб-сервер Monkey — интересный проект, который продолжает активно развиваться и поддерживаться.

Главной достопримечательностью MonkeyServer является поддержка встроенных платформ.

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

  • Ориентирован в основном на Linux, но поддерживается и на MacOS
  • Полная поддержка процессоров на базе ARM
  • Прекрасно работает на Android, Raspberry Pi и других встроенных платформах
  • Минимальное время выполнения (100 КБ без плагинов)
  • Поддерживает IPv6 и TLS
  • Работает с CGI и FastCGI
  • Базовая аутентификация, правила безопасности и т. д.

Если вы хотите использовать встроенные устройства, MonkeyServer — это то, что вам нужно.

Тем не менее, он одинаково хорошо работает на архитектурах x86 и x86-64 и может использоваться для запуска крупномасштабных приложений на мощных машинах.

У него гораздо более массовое и активное сообщество, чем у других альтернативных веб-серверов, поэтому вы никогда не потеряетесь, если вам понадобится помощь.

OpenLiteSpeed

OpenLiteSpeed — это разновидность корпоративного веб-сервера с открытым исходным кодом, предлагаемая LiteSpeed Technologies.

Есть много причин, чтобы полюбить OpenLiteSpeed:

  • Совместим с Apache mod_rewrite, что означает, что если у вас есть тонна существующих файлов Apache, миграция будет минимальной проблемой.
  • Управляемая событиями архитектура в духе Nginx, что обеспечивает высокую пропускную способность.
  • Графический интерфейс, предлагающий приятную настройку конфигурации.
  • Собственный SAPI для PHP, что повышает производительность.
  • Кэширование и оптимизация Google PageSpeedInsights применяются по умолчанию.

OpenLiteSpeed имеет смысл для основанных на WordPress веб-сайтов, основанных на контенте, поскольку оптимизация страниц уже является частью сервера.

Так как он настроен на производительность PHP, кодовые базы и проекты на основе PHP могут получить огромную выгоду.

Cherokee

Проект Cherokee был личным увлечением разработчика, который превратился в достойную платформу веб-сервера.

Хотя он не имеет передовых функций, таких как Nginx, он предоставляет простую, веселую и производительную альтернативу основным веб-серверам.

Самое большое преимущество у Cherokee — это простота: нет необходимости разбираться с командной строкой для настройки сервера.

Дружественный веб-интерфейс поставляется в комплекте и его приятно использовать для тех, кто предпочитает метод «укажи и щелкни».

Хотя Cherokee не очень активно развивается, это все же хорошая тема для большинства повседневных проектов.

Заключение

Жизнь не имела бы смысла без веб-серверов, и, к счастью, у нас есть из чего выбирать.

Какой ваш любимый веб-сервер с открытым исходным кодом?

Если вы считаете, что я пропустил важный пункт в списке, пожалуйста, дайте мне знать в комментариях, и я буду рад добавить его! 🙂

 

Please follow and like us:

Добавить комментарий