Компьютер на котором работает сервер программа www называется
Общие вопросы и ответы по web в разделе Java Enterprise Edition.
к списку вопросов раздела JEE
Вопросы
Ответы
1. Что такое www?
Всемирную паутину образуют сотни миллионов веб-серверов. Большинство ресурсов Всемирной паутины основаны на технологии гипертекста. Гипертекстовые документы, размещаемые во Всемирной паутине, называются веб-страницами. Несколько веб-страниц, объединённых общей темой, дизайном, а также связанных между собой ссылками и обычно находящихся на одном и том же веб-сервере, называются веб-сайтом. Для загрузки и просмотра веб-страниц используются специальные программы — браузеры (англ. browser).
2. Что такое w3c?
Консорциум Всемирной паутины (англ. World Wide Web Consortium, W3C) — организация, разрабатывающая и внедряющая технологические стандарты для Всемирной паутины. Консорциум возглавляет сэр Тимоти Джон Бернерс-Ли, автор множества разработок в области информационных технологий.
3. Что такое TCP/IP?
Стек протоколов TCP/IP — набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет. Название TCP/IP происходит из двух наиважнейших протоколов семейства — Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были разработаны и описаны первыми в данном стандарте.
Стек протоколов TCP/IP включает в себя четыре уровня:
- прикладной уровень (application layer),
- транспортный уровень (transport layer),
- сетевой уровень (Internet layer),
- канальный уровень (link layer).
4. Что такое ftp?
FTP (англ. File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). Использует 21-й порт. FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.
Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.
6. Что такое протокол передачи данных, какие вы знаете?
Протокол передачи данных — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами.
Примеры сетевых протоколов
TCP/IP — набор протоколов передачи данных, получивший название от двух принадлежащих ему протоколов: TCP (Transmission Control Protocol) и IP (Internet Protocol)
Наиболее известные протоколы, используемые в сети Интернет:
7. Что такое web server?
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер (см.: Сервер (аппаратное обеспечение)), на котором это программное обеспечение работает.
8. Что такое web приложение?
Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети.
9. Что такое application server?
Сервер приложений (англ. application server) — это программная платформа (фреймворк), предназначенная для эффективного исполнения процедур (программ, скриптов), на которых построены приложения. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования), определённый самой платформой.
Для веб-приложений основная задача компонентов сервера — обеспечивать создание динамических страниц. Однако современные серверы приложений включают в себя и поддержку кластеризации, повышенную отказоустойчивость, балансировку нагрузки, позволяя таким образом разработчикам сфокусироваться только на реализации бизнес-логики.
10. Чем отличаются web server и application server?
11. Какие методы передачи данных вы знаете?
Основными являются методы POST и GET.
12. Чем отличаются методы get и post?
Метод GET.
Метод GET удобен тем, что прост в эксплуатации. Но у него есть недостатки. Во-первых, методом GET нельзя передавать большие объемы информации, потому что данные, передаваемые этим методом входят в состав URL, длина которого ограничена. Так как данные, передаваемые методом GET входят в состав URL документа, их может подсмотреть любой желающий. У этого есть преимущества и недостатки. Преимущество состоит в том, что можно послать ссылку вместе с данными другу. Недостаток в том, что в строке браузера отображается и ваш, только что введенный пароль. Это одна из причин, почему данные, представляющие ценность, всегда нужно передавать методом POST.
Метод POST.
Как и метод GET, метод POST служит для передачи данных на сервер. Однако, данные, переданные таким образом, идут не в URL документа, а в теле запроса, после заголовков. Эти данные могут быть восприняты CGI-программой.
Интернет — это глобальная компьютерная сеть, объединяющая сотни миллионов компьютеров в общее информационное пространство. Интернет представляет свою инфраструктуру для прикладных сервисов различного назначения, самым популярным из которых является Всемирная Паутина – World Wide Web (www).
WWW — сетевая технология прикладного уровня стека TCP/IP, построенная на клиент-серверной архитектуре и использующая инфраструктуру Интернет для взаимодействия между сервером и клиентом (рис. 1).
Серверы www (веб-серверы) — это хранилища гипертекстовой (в общем случае) информации, управляемые специальным программным обеспечением.
Документы, представленные в виде гипертекста называются веб-страницами. Несколько веб-страниц, объединенных общей тематикой, оформлением, связанных гипертекстовыми ссылками и обычно находящихся на одном и том же веб-сервере, называются веб-сайтом.
Для загрузки и просмотра информации с веб-сайтов используются специальные программы — браузеры, способные обрабатывать гипертектовую разметку и отображать содержимое веб-страниц.
Рис. 1. Архитектура сервиса WWW
Основной тип ресурсов Всемирной паутины — гипертекстовые страницы. Гипертекст — это обычный текст, размеченный специальными управляющими конструкциями — тегами. Браузер считывает теги и интерпретирует их как команды форматирования при выводе информации. Теги описывают структуру документа, а специальные теги, якоря и гиперссылки, позволяют установить связи между веб-страницами и перемещаться как внутри веб-сайта, так и между сайтами.
Т. Дж. Бернерс-Ли — «отец» Всемирной паутины
Компоненты WWW¶
Функционирование сервиса обеспечивается четырьмя составляющими:
Адресация веб-ресурсов. URL, URN, URI
Для доступа к любым сетевым ресурсам необходимо знать где они размещены и как к ним можно обратиться. Во Всемирной паутине для обращения к веб-документам изначально используется стандартизованная схема адресации и идентификации, учитывающую опыт адресации и идентификации таких сетевых сервисов, как e-mail, telnet, ftp и т.п. — URL, Uniform Resource Locator.
URL (RFC 1738) — унифицированный локатор (указатель) ресурсов, стандартизированный способ записи адреса ресурса в www и сети Интернет. Адрес URL имеет гибкую и расширяемую структуру для максимально естественного указания местонахождения ресурсов в сети. Для записи адреса используется ограниченный набор символов ASCII. Общий вид адреса можно представить так:
имя пользователя и его пароль, используемые для доступа к ресурсу уточняющая информация о месте нахождения ресурса (зависит от протокола).В августе 2002 года RFC 3305 анонсировал устаревание URL в пользу URI (Uniform Resource Identifier), еще более гибкого способа адресации, вобравшего возможности как URL, так и URN (Uniform Resource Name, унифицированное имя ресурса). URI позволяет не только указавать местонахождение ресурса (как URL), но и идентифицировать его в заданном пространстве имен (как URN). Если в URI не указывать местонахождение, то с его помощью можно описывать ресурсы, которые не могут быть получены непосредственно из Интернета (автомобили, персоны и т.п.). Текущая структура и синтаксис URI регулируется стандартом RFC 3986, вышедшим в январе 2005 года.
Язык гипертекстовой разметки HTML¶
HTML ( `HyperText Markup Language <>`_ ) — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц созданы при помощи языка HTML. Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме. HTML является приложением SGML (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO 8879.
HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. Для этого он представляет небольшой (сравнительно) набор структурных и семантических элементов — тегов. С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен единообразно воспроизводиться на различном оборудовании (монитор ПК, экран органайзера, ограниченный по размерам экран мобильного телефона, медиа-проектор). Однако современное применение HTML очень далеко от его изначальной задачи. Со временем основная идея платформонезависимости языка HTML стала жертвой коммерциализации www и потребностей в мультимедийном и графическом оформлении.
Общий шлюзовый интерфейс CGI¶
CGI ( `Common Gateway Interface <>`_ ) — механизм доступа к программам на стороне веб-сервера. Спецификация CGI была разработана для расширения возможностей сервиса www за счет подключения различного внешнего программного обеспечения. При использовании CGI веб-сервер представляет браузеру доступ к исполнимым программам, запускаемым на его (серверной) стороне через стандартные потоки ввода и вывода.
Интерфейс CGI применяется для создания динамических веб-сайтов, например, когда веб-страницы формируются из результатов запроса к базе данных. Сейчас популярность CGI снизилась, т.к. появились более совершенные альтернативные решения (например, модульные расширения веб-серверов).
Программное обеспечение сервиса WWW¶
Apache — свободное программное обеспечение, распространяется под совместимой с GPL лицензией. Apache уже многие годы является лидером по распространенности во Всемирной паутине в силу своей надежности, гибкости, масштабируемости и безопасности.
IIS (Internet Information Services) — проприетарный набор серверов для нескольких служб Интернета, разработанный Майкрософт и распространяемый с серверными операционными системами семейства Windows. Основным компонентом IIS является веб-сервер, также поддерживаются протоколы FTP, POP3, SMTP, NNTP.
Google Web Server (GWS) — разработка компании Google на основе веб-сервера Apache. GWS оптимизирован для выполнения приложений сервиса Google Applications.
Исторически первым браузером в современном понимании (т.е. с графическим интерфейсом и т.д.) была программа NCSA Mosaic, разработанная Марком Андерисеном и Эриком Бина. Mosaic имел довольно ограниченные возможности, но его открытый исходный код стал основой для многих последующих разработок.
Существует большое число программ-браузеров, но наибольшей популярностью пользуются следующие:
Internet Explorer (IE) — браузер, разработанный компанией Майкрософт и тесно интегрированный c ОС Windows. Платформозависим (поддержка сторонних ОС прекращена, начиная с версии 5). Единственный браузер, напрямую поддерживающий технологию ActiveX. Не полностью совместим со стандартами W3C, в связи с чем требует дополнительных затрат от веб-разработчиков.
Firefox — свободный кроссплатформенный браузер, разрабатываемый Mozilla Foundation и распространяемый под тройной лицензией GPL/LGPL/MPL. В основе браузера — движок Gekko, который изначально создавался для Netscape Communicator. Однако, вместо того, чтобы предоставить все возможности движка в стандартной поставке, Firefox реализует лишь основную его функциональность, предоставляя пользователям возможность модифицировать браузер в соответствии с их требованиями через поддержку расширений (add-ons), тем оформления и плагинов.
Safari — проприетарный браузер, разработаный корпорацией Apple и входящий в состав операционной системы Mac OS X. Бесплатно распространяется для операционных систем семейства Microsoft Windows. В браузере используется уникальный по производительности интерпретатор JavaScript и еще ряд интересных для пользователя решений, которые отсутствуют или не развиты в других браузерах.
Chrome — кроссплатформенный браузер с открытым исходным кодом, разрабатываемый компанией Google. Первая стабильная версия вышла 11 декабря 2008 года. В отличие от многих других браузеров, в Chrome каждая вкладка является отдельным процессом. В случае если процесс обработки содержимого вкладки зависнет, его можно будет завершить без риска потери данных других вкладок. Еще одна особенность — интеллектуальная адресная строка (Omnibox). К возможности автозаполнения она добавляет поисковые функции с учетом популярности сайта, релевантности и пользовательских предпочтений (истории переходов).
Opera — кроссплатформенный многофункциональный веб-браузер, впервые представленный в 1994 году группой исследователей из норвежской компании Telenor. Дальнейшая разработка ведется Opera Software ASA. Этот браузер обладает высокой скоростью работы и совместим с основными стандартами. Отличительными особенностями Opera долгое время являлись многостраничный интерфейс и возможность масштабирования веб-страниц целиком. На разных этапах развития в Opera были интегрированы возможности почтового/новостного клиента, адресной книги, клиента сети BitTorrent, агрегатора RSS, клиента IRC, менеджера закачек, WAP-браузера, а также поддержка виджетов — графические модулей, работающих вне окна браузера. Роботы-«пауки»
Например, для получения итоговой страницы, которую пользователь будет просматривать в браузере, сервер приложений может заполнить HTML-шаблон данными из базы данных. По этому принципу работают такие сайты, как MDN или Википедия, которые состоят из тысяч веб-страниц, являющихся не реальными HTML документами, а несколькими HTML-шаблонами и объемными базами данных. Эта структура упрощает и ускоряет сопровождение веб-приложений и доставку контента.
Для чего нужен веб-сервер
Также к задачам веб-серверов относятся создание журналов ошибок и обращений к файлам (логов), аутентификация и авторизация пользователей, использование настроек для обработки файлов.
Типы веб-серверов
На сегодняшний день среди веб-серверов выделяют несколько ведущих систем:
Рейтинг-2021 для веб-серверов
Наибольшее количество пользователей по всему миру в 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%.
Как настроить веб-сервер
Создание такого стека можно рассмотреть на примере системы управления ВМ 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. Для этого, как и в случае с сервером MySQL, требуется создать клон заранее подготовленного шаблона, запустить виртуальный сервер и подключиться к нему, добавить правило iptables, закрывающее все порты, кроме порта memcached и установить аналогичные строки в /etc/rc.local.
Установка и настройка Apache/PHP проводится на одной виртуальной машине. Это связано с особенностями архитектуры PHP, выполненного в виде Apache-модуля. Процесс установки Apache/PHP будет выглядеть так:
- создание и запуск клона;
- правка сетевых конфигураций и постановка необходимых модулей;
- размещение сайта в каталоге /var/www/html и перезапуск Apache;
- добавление правила iptables для пропуска трафика на 80-й порт.
Заключительный шаг - настройка веб-сервера nginx в режиме реверс-прокси. Nginx позволит создать задел для будущего расширения созданной конфигурации, выступая в роли балансировщика нагрузки на несколько серверов, а также защитит от ряда угроз, работая а качестве брандмауэра прикладного уровня.
Чтобы защититься от возможных проблем с конфигурацией и прочих сбоев, сразу после настройки окончательной конфигурации следует сделать клоны всех серверов. В этом случае вышедший из строя сервер можно будет быстро восстановить из работоспособной копии. Но Apache и MySQL таким образом, восстановить не удастся, так как они содержат динамически генерируемые данные; однако эту информацию можно заранее расположить на втором виртуальном диске, который достаточно будет подключить после восстановления рабочей копии.
Подбираем оборудование
Основное требование, которое предъявляется к аппаратной платформе для веб-сервера - высокая скорость работы, которая показывает минимальное время отклика у накопителя, хранящего запрашиваемые данные. Поэтому для создания оперативно действующего веб-сервера рекомендуется использовать оборудования с твердотельными накопители, которые быстрее и надежнее традиционных жестких дисков.
Чаще всего аппаратная платформа веб-серверов представляет собой компактные одноюнитовые решения с поддержкой одного-двух процессоров. К наиболее популярным из них относятся:
- HP ProLiant DL360 Gen9 - сервер высокой плотности с одним или двумя процессорами (на выбор). Использование флагманских твердотельных накопителей NVMe PCIe в форм-факторе 2,5˝ объемом до 2 Тбайт позволяет снизить время задержки и повысить эффективность работы с данными.
- HPE ProLiant DL360 Gen10. Высокопроизводительный двухпроцессорный сервер с возможностью установки процессоров Intel Xeon Scalable серий 3100, 4100, 5100, 6100 и 8100. Оснащается оперативной памятью DDR4 частотой 2666. Позволяет установить 10 SFF жестких дисков, или SSD-дисков, или NVMe.;
- Dell R630 - двухпроцессорный стоечный сервер с большой плотностью установки. Поддерживает до 24 флэш-накопителей форм-фактора 1,8ʺ или до 10 дисков форм-фактора 2,5ʺ.
Компания ServerGate предлагает всем, кто ищет веб-сервер для частного использования в корпоративных целях или размещения внешних сайтов, б/у оборудование от перечисленных вендоров. Мы поможем вам сэкономить, подобрав оптимальное по скорости доступа к данным и производительности решение.
Сервер — это специализированное оборудование (обычно служебный компьютер или рабочая станция), призванное выполнять сервисное программное обеспечение без участия человека. В переводе с английского, serve — служить, а server — исполняющий службу, то есть служебное оборудование или программное обеспечение.
Главное правило сервера, которое отличает его от обычного компьютера, — это автономность. То есть участие человека не требуется. Человек лишь осуществляет первоначальную настройку, периодическое аппаратно-техническое обслуживание и обслуживание в нештатных ситуациях.
Если говорить человеческим языком, то сервер — это компьютер, обрабатывающий команды пользователей для их корректного выполнения. Это некий промежуточный этап между действием пользователя и ответом программы на это действие.
Что представляет собой сервер
В качестве сервера может выступать как отдельный служебный компьютер (похожий на обычный ПК), так и целая станция, содержащая в себе множество аппаратных единиц. Зачастую для выполнения внутренних задач компании (например, работы с базами данных, вычислительных операций, отправки и получения внутренней почты) используются одиночные служебные компьютеры.
Если же мощностей одного сервера не хватает и необходимо подключать дополнительные, используют станции, представляющие собой вертикальные стойки с множеством аппаратных единиц. Например, в крупных компаниях, дата-центрах или у хостинг-провайдеров.
Такие компании обладают отдельными серверными комнатами, где и расположено все оборудование. В помещениях поддерживается определенный уровень влажности, температуры, пыльности, предусмотрены противопожарные меры безопасности и т. д.
Серверные станции могут использоваться как для выполнения задач внутри компании, так и для сдачи серверов в аренду. Например, для размещения сайтов.
По сути, сервер — это тот же компьютер, только имеющий более качественные аппаратные составляющие (оперативная память, процессоры, жесткие диски и т. д.). Устройства ввода и вывода (монитор, клавиатура, мышь) для выполнения операций не требуются, они нужны лишь для настройки и обслуживания. Для корректной работы необходимы постоянное электропитание, доступ к сети и исправность оборудования.
Как работает сервер
Что делает сервер? В чем именно заключается его роль? Эти и другие аналогичные вопросы часто возникают в головах людей.
Алгоритм работы сервера следующий:
- Сначала пользователь делает запрос, выполняет команду (чаще всего это нажатие той или иной кнопки).
- Информация о его действии поступает на сервер и обрабатывается оборудованием.
- После этого, в соответствии с настройками программы, система выводит ту или иную информацию на монитор.
Например, пользователь вводит логин и пароль на сайте, а затем нажимает кнопку «Войти». Информация поступает на сервер, где проверяется правильность введенных данных. Если они введены неверно, пользователь увидит уведомление об ошибке. Если же данные указаны корректно, пользователь попадет в свой «Личный кабинет».
Для чего используются серверы
Главное предназначение серверов — это предоставление доступа к информации и программам третьим лицам. Например, предоставление сотрудникам компании доступа к CRM-системе. Или возможность совместной работы и взаимодействия работников из разных филиалов (городов, стран). Или взаимодействие пользователей с интернет-ресурсом, онлайн-игрой, приложением, базой данных и т. д. Для всего этого необходимы серверы.
Виды серверов
Все серверы делятся на несколько видов в зависимости от того, какую именно задачу они призваны выполнять.
Онлайн-сервер (или веб-сервер)
Почтовый сервер
Файловый сервер
Используется для предоставления доступа к файлам сети другим компьютерам. То есть люди с разных ПК могут обмениваться между собой файлами (загружать, скачивать) или получать доступ к хранящимся на сервере данным. В таких ситуациях серверное оборудование должно иметь достаточно места на жестком диске для хранения документов, изображений, видео и т. д. Для обмена файлами используется протокол FTP.
Серверы баз данных
Почти все программы используют базы данных. Например, для хранения информации обо всех аккаунтах (персональные данные, логины, пароли и т. д.). Сервера баз данных выступают в роли этого хранилища. Для корректной обработки некоторых запросов пользователя (например, авторизация на сайте) требуется сверить данные с имеющимися в базе. В зависимости от соответствия/несоответствия система дает тот или иной отклик (вход в личный кабинет или оповещение о том, что логин или пароль введен неверно).
Прокси-сервер
Это все тот же онлайн-сервер, только выступает он в роли посредника между пользователем и конечным сервером. То есть запрос пользователя будет выполнен не напрямую, а через прокси-сервер. При этом информация может быть изменена (как сам запрос, так и ответ). Использование прокси-серверов позволяет сохранить анонимность пользователя, защитить компьютер от атак и т. д.
Принт-сервер
Это программное обеспечение или оборудование, которое позволяет использовать один принтер нескольким пользователям совместно. Примером могут стать несколько компьютеров, подключенных к одному принтеру в офисе.
Игровой сервер
Такие устройства используются компаниями, которые занимаются разработкой и поддержкой онлайн-игр. Оборудование должно выдержать нагрузку, когда в игре одновременно находятся сотни, тысячи и даже миллионы игроков (в зависимости от популярности игры). Все действия игроков и обмен информацией осуществляются через игровые сервера. В онлайн-играх важная роль отводится скорости обработки информации, чтобы взаимодействие игроков друг с другом осуществлялось в реальном времени (с минимальными задержками).
Удаленный и локальный серверы
Помимо разделения по типу выполняемых задач, серверы также делят на две группы: удаленные и локальные. Название говорит само за себя. Удаленный сервер — это оборудование, доступ к которому осуществляется удаленно (например, через интернет). То есть у владельца нет доступа к самому железу. Локальный — серверное оборудование, к которому есть непосредственный доступ.
Примером удаленного сервера является хостинг сайта, покупаемый у хостинг-провайдеров. Владелец ресурса не имеет непосредственного доступа к оборудованию, а может лишь управлять хостингом удаленно. Это удобно, так как не приходится беспокоиться за сохранность и работоспособность железа. При этом стоимость его использования довольно низкая. Пример локального — сервер, расположенный на территории компании и выполняющий внутренние задачи.
Сервер — это оборудование, обрабатывающее запросы пользователей и дающее на них ответ. Нажатие каждой кнопки на сайте задействует серверное оборудование. Это важный элемент, без которого не было бы ни интернета, ни программ, работающих с различной информацией, ни возможности взаимодействовать с другими пользователями.
Синонимы: нет
Все термины на букву «С»
Все термины в глоссарии
Что такое веб-сервер
Например, для получения итоговой страницы, которую пользователь будет просматривать в браузере, сервер приложений может заполнить HTML-шаблон данными из базы данных. По этому принципу работают такие сайты, как MDN или Википедия, которые состоят из тысяч веб-страниц, являющихся не реальными HTML документами, а несколькими HTML-шаблонами и объемными базами данных. Эта структура упрощает и ускоряет сопровождение веб-приложений и доставку контента.
Для чего нужен веб-сервер
Также к задачам веб-серверов относятся создание журналов ошибок и обращений к файлам (логов), аутентификация и авторизация пользователей, использование настроек для обработки файлов.
Типы веб-серверов
На сегодняшний день среди веб-серверов выделяют несколько ведущих систем:
Рейтинг-2021 для веб-серверов
Наибольшее количество пользователей по всему миру в 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%.
Как настроить веб-сервер
Создание такого стека можно рассмотреть на примере системы управления ВМ 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. Для этого, как и в случае с сервером MySQL, требуется создать клон заранее подготовленного шаблона, запустить виртуальный сервер и подключиться к нему, добавить правило iptables, закрывающее все порты, кроме порта memcached и установить аналогичные строки в /etc/rc.local.
Установка и настройка Apache/PHP проводится на одной виртуальной машине. Это связано с особенностями архитектуры PHP, выполненного в виде Apache-модуля. Процесс установки Apache/PHP будет выглядеть так:
- создание и запуск клона;
- правка сетевых конфигураций и постановка необходимых модулей;
- размещение сайта в каталоге /var/www/html и перезапуск Apache;
- добавление правила iptables для пропуска трафика на 80-й порт.
Заключительный шаг - настройка веб-сервера nginx в режиме реверс-прокси. Nginx позволит создать задел для будущего расширения созданной конфигурации, выступая в роли балансировщика нагрузки на несколько серверов, а также защитит от ряда угроз, работая а качестве брандмауэра прикладного уровня.
Чтобы защититься от возможных проблем с конфигурацией и прочих сбоев, сразу после настройки окончательной конфигурации следует сделать клоны всех серверов. В этом случае вышедший из строя сервер можно будет быстро восстановить из работоспособной копии. Но Apache и MySQL таким образом, восстановить не удастся, так как они содержат динамически генерируемые данные; однако эту информацию можно заранее расположить на втором виртуальном диске, который достаточно будет подключить после восстановления рабочей копии.
Подбираем оборудование
Основное требование, которое предъявляется к аппаратной платформе для веб-сервера - высокая скорость работы, которая показывает минимальное время отклика у накопителя, хранящего запрашиваемые данные. Поэтому для создания оперативно действующего веб-сервера рекомендуется использовать оборудования с твердотельными накопители, которые быстрее и надежнее традиционных жестких дисков.
Чаще всего аппаратная платформа веб-серверов представляет собой компактные одноюнитовые решения с поддержкой одного-двух процессоров. К наиболее популярным из них относятся:
- HP ProLiant DL360 Gen9 - сервер высокой плотности с одним или двумя процессорами (на выбор). Использование флагманских твердотельных накопителей NVMe PCIe в форм-факторе 2,5˝ объемом до 2 Тбайт позволяет снизить время задержки и повысить эффективность работы с данными.
- HPE ProLiant DL360 Gen10. Высокопроизводительный двухпроцессорный сервер с возможностью установки процессоров Intel Xeon Scalable серий 3100, 4100, 5100, 6100 и 8100. Оснащается оперативной памятью DDR4 частотой 2666. Позволяет установить 10 SFF жестких дисков, или SSD-дисков, или NVMe.;
- Dell R630 - двухпроцессорный стоечный сервер с большой плотностью установки. Поддерживает до 24 флэш-накопителей форм-фактора 1,8ʺ или до 10 дисков форм-фактора 2,5ʺ.
Компания ServerGate предлагает всем, кто ищет веб-сервер для частного использования в корпоративных целях или размещения внешних сайтов, б/у оборудование от перечисленных вендоров. Мы поможем вам сэкономить, подобрав оптимальное по скорости доступа к данным и производительности решение.
Читайте также: