Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить бесплатно
Главная БлогВеб-сервер: что это и для чего нужен
Язык программирования Си

Веб-сервер: что это и для чего нужен

Дата публикации: 18.07.2022
21 326
Время чтения: 14 минут
Дата обновления: 05.09.2023
В статье рассказывается:

В статье рассказывается:

  1. Что такое веб-сервер
  2. Принципы работы веб-сервера
  3. Основные типы веб-серверов
  4. Настройка веб-сервера
  5. Факультет основ работы с маркетплейсами и e-commerce
  6. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

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

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

Что такое веб-сервер

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

  • Оборудование для веб-сервера представляет собой хранилище файлов сайта. На нем хранятся как отдельные страницы и файлы стилей, так и мультимедийные файлы – аудио, видео, графика и др. С сервера контент попадает на компьютер, с которого был отправлен запрос, и выводится в наглядном виде через браузер.
  • Программная составляющая веб-сервера позволяет осуществлять управление размещенными на нем данными, обеспечивает доступ пользователей. Минимально для этого требуется HTTP-сервер, то есть программа, которая может распознавать URL-адреса и работает на протоколе HTTP, который необходим для доступа к веб-странице.
Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 31984 pdf иконка

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

Что такое веб-сервер
Что такое веб-сервер

Для размещения сайта в интернете нужен веб-сервер. Он может быть статическим либо динамическим.

  • Статический веб-сервер использует оборудование и программное обеспечение HTTP. С него данные направляются пользователю в неизменном виде.
  • В динамическом веб-сервере используются наряду со статическим веб-сервером вспомогательные приложения, обычно в виде базы данных. В этом случае передаваемые пользователю данные изменяются, прежде чем они будут доставлены пользователю.

Принципы работы веб-сервера

Основное назначение веб-сервера – хранение контента, который может быть представлен текстовой, графической информацией, мультимедийными файлами. Однако возможности веб-сервера гораздо шире:

  • получение и отправка запросов;
  • запуск программы на серверных языках программирования;
  • составление веб-страниц;
  • отправка веб-страниц пользователю;
  • защита информации;
  • идентификация клиентов;
  • учет активности пользователей;
  • обработка запросов иных видов (mailto, FTP и т.д.).
Представление о работе веб-сервера дает понимание принципов обмена информацией в сети. Для этого используются алгоритмы, которые называются протоколами. Каждый URL-адрес, будь то веб-страница или файл, начинается с протокола (ftp, http://, https:// и пр.).

Hyper Text Transfer Protocol – протокол передачи гипертекста. Страницы сайта всегда имеют вид гипертекстового документа. В этом виде сервер передает их пользователю, который просматривает их в браузере.

  • Когда пользователь набирает в браузере адрес или кликает ссылку, браузер направляет запрос на сервер посредством именно этого протокола.
  • Хост, к которому относится введенный пользователем адрес веб-серверов, запускает несколько программ на сервере, отвечающих за определенные операции.
  • Сервер расшифровывает запрос и выполняет команду пользователя.
  • Формируется гипертекст, кодируется и отправляется обратно.
  • Браузер получает ответ, переводит код в html и отображает веб-страницу на устройстве пользователя.

Основные типы веб-серверов

Наиболее распространены следующие виды веб-серверов.

  • Apache HTTP Server – поддерживает множество операционных систем и имеет свободный исходный код. Веб-сервер Apache широко применяется не только на Windows, но и на Linux, Unix, FreeBSD, Mac OS. Для корректной работы с JSP и J2EE используются модули tomcat.
  • Microsoft IIS Windows Server – интернет-служба которая входит в пакет установки операционной системы Windows. Веб-сервер IIS прост в управлении, но не поддерживает иных операционных систем кроме Windows. Его исходный код является закрытым.
  • Lighttpd – разработан для операционной системы FreeBSD. Однако в дальнейшем появились его версии и для Windows, Mac OS, Linux, Unix. Он характеризуется широкими возможностями настройки, высокой защищенностью и поддержкой множества операционных систем. Кроме того, он бесплатный.
  • Sun Java System, разработанный компанией Sun Microsystems. Предназначен для серверов с большим массивом данных. Распространяется бесплатно, но исходный код закрыт. Может использоваться на Windows, Linux и Unix. Он корректно работает с языками и скриптами, которые требуются для Web 2.0, в частности JSP, Java Servlets, PHP, Perl, Python, Ruby on Rails, ASP и Coldfusion.
  • Nginx — веб-сервер, который отличается низким потреблением ресурсов, высокой скоростью работы, стабильностью и наличием множества полезных инструментов. Веб-сервер Nginx является бесплатным и имеет открытый код. Он может использоваться для решения множества задач, включая использование в качестве обратного прокси-сервера, стабилизации нагрузки, оперативного хранилища HTTP, интерфейсного прокси.
  • X5 – сервер от IMatrix Corporation, который может быть и веб-, и FTP-сервером. Характеризуется удобством настройки. поддержкой распространенных протоколов, небольшим объемом и производительностью.
Дарим скидку от 60%
на курсы от GeekBrains до 01 декабря
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Программистам без опыта помогают инструменты, с помощью которых установка веб-сервера возможна на любом компьютере за несколько минут.

  • OpenServer. Компактное средство разработки, предоставляющее различные базы данных и языки программирования. Также включает дополнительные возможности вроде интерфейса работы с БД PhpMyAdmin. Является признанным лидером у домашних пользователей.
  • Xampp. Поддерживает такие веб-серверы как Apache, php, Perl, MariaDB и пр. Не требует оплаты, имеет удобный интерфейс управления.
  • Denwer. Отличная программа, поддерживающая Apache, веб-сервер PHP, MySQL, PhpMyAdmin. Однако в новые версии включаются устаревшие библиотеки. Фактически проект приостановился.
Только до 25.11
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

По итогам 2021 года предпочтения пользователей к тому или иному виду серверов выглядят следующим образом:

  • Apache — 40,86%;
  • Nginx — 27,66%;
  • IIS — 11,01;
  • LiteSpeed — 2,4%;
  • Apache Traffic Server — 0,53%;
  • OpenGSE — 0,44%;
  • Phusion Passenger — 0,36%;
  • Apache Tomcat — 0,16%.

Настройка веб-сервера

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

На ней устанавливается стек LAMP, в который входят Apache, PHP, MySQL, могут включаться memcached, nginx и реверс-прокси, являющийся сетевым экраном и стабилизатором нагрузки. если вводятся дополнительные инстанции Apache или MySQL. Лучше всего использовать несколько виртуальных машин для размещения разных элементов стека.

Например, рассмотрим систему управления ВМ libvirt в Linux/Ubuntu, распространённую в облачных технологиях. В ней создается инфраструктура, в которой можно без труда подготовить ферму виртуальных серверов с нужными настройками. Настройка состоит из трех стадий:

  • установка виртуального сетевого моста для обмена данными между виртуальными машинами и доступа реверс-прокси к сторонним данным;
  • конфигурация libvirt;
  • создание шаблонов виртуальных машин.

При настройке сетевого моста вначале устанавливаются службы управления им, определяется базовый сетевой интерфейс и задаются нужные параметры. Для IP-адресов и макси подсети применяются физические адреса. Предполагается, что используется локальный веб-сервер, а для связи с Интернетом используется шлюз. Затем проводится тестирование моста, настройка libvirt и создание виртуальной машины под заданный шаблон.

Настройка веб-сервера
Настройка веб-сервера

Составленный шаблон виртуальной машины затем применяется для всех серверов в LAMP. В первую очередь, конфигурируется Apache/PHP. Для создания ещё одной виртуальной машины из уже существующей используется команда virt-clone: sudo virt-clone -o web_devel -n database_devel -f /path/to/database_devel.img \—connect=qemu:///system

где:

  • o: исходная виртуальная машина;
  • n: имя вновь создаваемой виртуальной машины;
  • f: путь к файлу, локальному тому или разделу, на котором будет размещена новая виртуальная машина;
  • connect: определяет, к какому супервизору подключаться.
Такой способ позволяет создать новую виртуальную машину, идентичную исходной. Далее её нужно активировать, для этого подойдет virt-viewer. Затем нужно разместить на ней связку Apache/PHP и остальные серверы. Тестирование работоспособности проверяется командой virsh: virsh -c qemu:///system start web_devel.

Следующую команду нужно выполнить на удаленной виртуальной машине. Не забудьте изменить IP-адрес, который она получила от родительской машины. Далее требуется сконфигурировать MySQL, и повторно активировать сервер. После этого указываются данные пользователей. Затем параметры iptables устанавливаются таким образом, чтобы через него проходили только данные MySQL. Для активации этих настроек нужно прописать их в /etc/rc.local (без sudo).

После этого нужно выполнить конфигурацию memcached. Чтобы это сделать, нужно создать дубликат уже имеющегося шаблона. Затем активируется виртуальный сервер, после присоединения к нему нужно внести параметр iptables, чтобы оставить открытым только один порт – memcached. Затем те же параметры нужно прописать в /etc/rc.local.

Установка и настройка параметров Apache/PHP выполняется на одной и той же машине. Объясняется это тем, что структура PHP представляет собой Apache-модуль. Установка Apache/PHP состоит из следующих операций:

  • создания дубликата имеющейся виртуальной машины;
  • изменения настроек сети и установки требуемых инструментов;
  • публикации базы на веб-сервере/var/www/html, после чего нужно повторно активировать Apache;
  • внесении параметра iptables, который обеспечит проход трафика через порт 80.

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

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

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

Факультет основ работы с маркетплейсами и e-commerce

Сведения в этом курсе позволят вам организовать интернет-магазин.

Эти сведения могут быть нужны:

  • предпринимателям. Организуйте онлайн-торговлю и выработайте эффективную стратегию продаж;
  • желающим сменить род занятий. Освойте профессию, которая востребована на рынке труда;
  • новичкам в маркетинге. Вы сможете повысить свой профессиональный уровень и получить более высокооплачиваемую работу.
Откройте для себя захватывающий мир IT! Обучайтесь со скидкой до 61% и получайте современную профессию с гарантией трудоустройства. Первый месяц – бесплатно. Выбирайте программу прямо сейчас и станьте востребованным специалистом.

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

Факультет основ работы с маркетплейсами и e-commerce
Факультет основ работы с маркетплейсами и e-commerce

На нашем курсе вы приобретете целый ряд полезных навыков:

  • научитесь делать онлайн-магазины;
  • сможете находить новых потребителей;
  • поймете принципы работы интернет-рекламы;
  • обучитесь веб-мастерингу;
  • сможете формировать продуктивную стратегию продаж.
Серверных программ на рынке представлено великое множество, поэтому непосвящённому человеку очень тяжело сделать правильный выбор. Одни из них ориентированы на веб-сайты определенных видов. Другие из них имеют многоцелевое назначение и могут использоваться для решения задач самых различных пользователей.

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

Оцените статью:
3.5
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
Читайте также
prev
next
Бесплатные вебинары:
prev
next
Как работает дизайн-студия на примере одного кейса 

Как работает дизайн-студия на примере одного кейса 

Узнать подробнее
Инновационные подходы к обучению информационным технологиям

Инновационные подходы к обучению информационным технологиям

Узнать подробнее
Как стать Python-разработчиком

Как стать Python-разработчиком

Узнать подробнее
Что нужно знать разработчику

Что нужно знать разработчику

Узнать подробнее
Кто такой тестировщик и как им стать

Кто такой тестировщик и как им стать

Узнать подробнее
Чем занимается программист и как им стать

Чем занимается программист и как им стать

Узнать подробнее
Как искусственный интеллект помогает и мешает задачам кибербезопасности

Как искусственный интеллект помогает и мешает задачам кибербезопасности

Узнать подробнее
Бесплатный вебинар про внедрение искусственного интеллекта

Бесплатный вебинар про внедрение искусственного интеллекта

Узнать подробнее
Какие есть профессии в ИТ

Какие есть профессии в ИТ

Узнать подробнее
Смените профессию,
получите новые навыки,
запустите карьеру
Поможем подобрать обучение:
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...