В одном предыдущая статья Мы говорили о том, почему Linux - лучший вариант для работы с веб-хостингом. Теперь посмотрим некоторые варианты с открытым исходным кодом для веб-серверов.
Термин «веб-сервер» относится как к аппаратному, так и к программному обеспечению.
С точки зрения оборудования веб-сервер - это компьютер, на котором хранится программное обеспечение веб-сервера и файлы компонентов веб-сайта. (например, документы HTML, изображения, таблицы стилей CSS и файлы JavaScript). Он подключен к Интернету и поддерживает обмен физическими данными с другими устройствами, подключенными к Интернету. В случае программного обеспечения Веб-сервер включает в себя несколько компонентов, которые контролируют способ доступа веб-пользователей к размещенным файлам.
Основным компонентом веб-сервера является HTTP-сервер. Это компьютерная программа, которая понимает URL-адреса (веб-адреса) и поддерживает HTTP (протокол, который браузеры используют для доступа к веб-страницам). Доступ к ресурсам сервера осуществляется путем ввода имени домена или IP-адреса в строке браузера.
Основной рабочий механизм следующий. Когда пользователь хочет просмотреть страницу, размещенную на веб-сервере, браузер запрашивает страницу через HTTP. Когда запрос достигает правильного веб-сервера (оборудования), HTTP-сервер (программное обеспечение) принимает запрос, находит запрошенную страницу или сообщение об ошибке, если нет, и отображает результат также с использованием протокола HTTP.
Веб-серверы могут быть двух типов:
- Статический: это компьютер с HTTP-сервером, который показывает веб-сайт в том виде, в каком он был загружен.
- Динамический: программный уровень состоит из статического веб-сервера и дополнительного программного обеспечения, такого как сервер приложений и ядро базы данных. Сервер приложений обновляет размещенные файлы перед отправкой их в браузер через HTTP-сервер.
Веб-серверы не просто отправляют контент, они также могут его получать. Это относится к веб-сайтам, которые включают такие функции, как формы или загрузка файлов.
Чтобы улучшить взаимодействие пользователей с веб-сайтами, многие серверы поддерживают языки программирования которые позволяют выполнять такие операции, как отправка форм по электронной почте, выполнение математических операций, реализация функций поиска и т. д.
Согласно имеющейся статистике, 80% Интернет-страниц работают с использованием веб-серверов с открытым исходным кодом.
Рейтинг 5 наиболее часто используемых веб-серверов распределяется следующим образом:
- Апачи 37,2%
- Нгинкс 32,4%
- Cloudflare (собственный) 15,0%
- Microsoft IIS (собственный) 7,3%
- LiteSpeed 6,8%
Веб-серверы с открытым исходным кодом. Некоторые варианты
Apache HTTP Server
Имея за плечами 25-летнюю историю, этот заслуживающий доверия сервер Имеются версии для Linux, Windows и Mac. Он построен с использованием модульной архитектуры, которая позволяет добавлять функции по мере необходимости.
Он имеет полную документацию, а из-за его возраста и популярности в Интернете полно руководств по его настройке.
NGINX
Разработан для поддержки нескольких одновременных подключений, быть обслуженнымr построен с использованием асинхронной архитектуры, управляемой событиями. я знаю характеризуется эффективным использованием ресурсов и простотой масштабирования.
Lighttpd
Этот сервер Характеризуется его низкое использование памяти, низкая потребность в ресурсах ЦП и быстрое выполнение. Он также разработан с архитектурой для реагирования на события и поддерживает несколько одновременных подключений.
Веб-сервер Lighthttpd поддерживает FastCGI, SCGI, Auth, исходящее сжатие и перезапись URL.
Caddy 2
Uno из новых проектов он написан на языке GO и imпо умолчанию используется протокол HTTPS поэтому нет необходимости ничего делать для установки и обновления сертификатов SSL. Его политика безопасности делает его менее уязвимым для атак типа Heartbleed.
Поскольку вам не нужно использовать библиотеки хост-ОС его можно установить, не беспокоясь о проблемах с зависимостями.
Программа для тех, кто хочет не нужно беспокоиться о настройках. Если вам нужна гибкость, вам придется искать в другом месте.