img

6 веб-серверов с открытым исходным кодом для сайтов всех размеров – от небольших до крупных

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

 

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

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

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

Apache

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

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

 

Что же делает Apache таким хорошим?

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

Нужен ли вам Apache?

Если коротко, то да. Был период, когда Nginx (который мы будем рассматривать дальше) начал активно пользоваться успехом благодаря своей высокой производительности, но это было до того, как Apache выпустил версию 2.2 и догнал его. Как бы то ни было, как и все ранние участники, Nginx привлек много внимания, так что вы можете столкнуться с некоторой (необоснованной) критикой в адрес его возможностей.  

Nginx

Если вам нравится верить всему, что вам говорят (или, если быть более политкорректным, следить за «последними» разработками), то, скорее всего, вы слышали о Nginx (произносится как «engine-x», что и было идеей, заложенной в названии). Он был выпущен в 2002 году. Это сделал русский инженер, который устал от того, что существовавшие на тот момент решения не могли справиться с проблемой C10k (попросту говоря, обработкой тысяч одновременный подключений).

Когда появился Nginx, он произвел на людей такое большое впечатление, что они забросили Apache и даже не вспоминали о нем. Эта тенденция присутствует и сегодня. Пока Apache, можно считать, находится где-то на номинальном уровне, Nginx предложил несколько сногсшибательных улучшений, которые помогли ему выиграть эту битву. 

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

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

Нужен ли вам Nginx?

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

Caddy

Caddy – это одна из популярнейших новых платформ, которая, определенно, наделала шуму в сообществе разработчиков открытого ПО. 

Caddy можно сравнить с Nginx-подобным сервером (у него похожий синтаксис и все такое). Однако все в нем упрощено до безобразия. Например, для того, чтобы выполнить интеграцию Let’s Encrypt для SSL, вам нужно всего три строки в файле конфигурации.

Чем же Caddy привлек так много внимания?

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

Нужен ли вам Caddy?

Если вы хотите, чтобы все было просто, и хотите отделаться от бестолковых конфигураций, таких как в Apache или Nginx, то Caddy будет для вас как глоток свежего воздуха. Однако лучше всего он работает тогда, когда вы используете настройки по умолчанию (они, конечно, должны вас устраивать). Например, если вы хотите пользоваться услугами своего SSL-провайдера, иметь отдельный каталог для статических файлов (что почти всегда так и есть) и т.д., то Caddy теряет свои преимущества. 

Lighthttpd

Единственный момент, в котором большая часть современных веб-серверов не оправдывают надежды пользователей, - использование ресурсов. Lighthttpd был разработан с целью справиться с этой проблемой в средах с низким объемом памяти и низкой загрузкой ЦП.

В основе Lighthttpd лежит модель асинхронной обработки запросов, что, по большому счету, похоже на то, как работает Nginx. Но есть одно «но» - Lighthttpd работает в одном потоке, а это значит, что если у вас более мощный компьютер, то он будет игнорировать другие ядра ЦП. Кроме того, он не может похвастаться такими необычными функциями, которые есть у Nginx, например, прокси-сервер SSL, HTTP/2 и т.д.

Нужен ли вам Lighthttpd?

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

OpenLiteSpeed

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

За что же стоит полюбить OpenLiteSpeed?

  • Совместимость с модулем Apache mod_rewrite, а это значит, что, если у вас есть куча готовых файлов Apache, миграция будет практически беспроблемной.
  • Событийно-управляемая архитектура в духе Nginx обеспечивает высокую пропускную способность.
  • Интерфейс администратора с графическим интерфейсом позволяет легко произвести настройку.
  • Собственный SAPI для PHP, который обеспечивает более высокую производительность.
  • По умолчанию применяются кэширование и оптимизация Google PageSpeed Insights.

Нужен ли вам OpenLiteSpeed?

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

Cherokee

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

Самая большая победа для Cherokee заключается в его простоте – вам не нужно напрягаться и работать с командной строкой для того, чтобы настроить сервер. Он предлагает удобный веб-интерфейс, и он точно понравится тем, кто любит выполнять задачи по принципу «укажи и щелкни».

И несмотря на то, что Cherokee не так активно разрабатывается, он все еще отлично подходит для большинства обычных проектов. Попробуйте!

Заключение

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker