Сервера компьютеры на которых размещаются сайты а также программы обеспечивающие поддержку сайтов
Например, для получения итоговой страницы, которую пользователь будет просматривать в браузере, сервер приложений может заполнить 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.
Серверы баз данных
Почти все программы используют базы данных. Например, для хранения информации обо всех аккаунтах (персональные данные, логины, пароли и т. д.). Сервера баз данных выступают в роли этого хранилища. Для корректной обработки некоторых запросов пользователя (например, авторизация на сайте) требуется сверить данные с имеющимися в базе. В зависимости от соответствия/несоответствия система дает тот или иной отклик (вход в личный кабинет или оповещение о том, что логин или пароль введен неверно).
Прокси-сервер
Это все тот же онлайн-сервер, только выступает он в роли посредника между пользователем и конечным сервером. То есть запрос пользователя будет выполнен не напрямую, а через прокси-сервер. При этом информация может быть изменена (как сам запрос, так и ответ). Использование прокси-серверов позволяет сохранить анонимность пользователя, защитить компьютер от атак и т. д.
Принт-сервер
Это программное обеспечение или оборудование, которое позволяет использовать один принтер нескольким пользователям совместно. Примером могут стать несколько компьютеров, подключенных к одному принтеру в офисе.
Игровой сервер
Такие устройства используются компаниями, которые занимаются разработкой и поддержкой онлайн-игр. Оборудование должно выдержать нагрузку, когда в игре одновременно находятся сотни, тысячи и даже миллионы игроков (в зависимости от популярности игры). Все действия игроков и обмен информацией осуществляются через игровые сервера. В онлайн-играх важная роль отводится скорости обработки информации, чтобы взаимодействие игроков друг с другом осуществлялось в реальном времени (с минимальными задержками).
Удаленный и локальный серверы
Помимо разделения по типу выполняемых задач, серверы также делят на две группы: удаленные и локальные. Название говорит само за себя. Удаленный сервер — это оборудование, доступ к которому осуществляется удаленно (например, через интернет). То есть у владельца нет доступа к самому железу. Локальный — серверное оборудование, к которому есть непосредственный доступ.
Примером удаленного сервера является хостинг сайта, покупаемый у хостинг-провайдеров. Владелец ресурса не имеет непосредственного доступа к оборудованию, а может лишь управлять хостингом удаленно. Это удобно, так как не приходится беспокоиться за сохранность и работоспособность железа. При этом стоимость его использования довольно низкая. Пример локального — сервер, расположенный на территории компании и выполняющий внутренние задачи.
Сервер — это оборудование, обрабатывающее запросы пользователей и дающее на них ответ. Нажатие каждой кнопки на сайте задействует серверное оборудование. Это важный элемент, без которого не было бы ни интернета, ни программ, работающих с различной информацией, ни возможности взаимодействовать с другими пользователями.
Синонимы: нет
Все термины на букву «С»
Все термины в глоссарии
Каждый сайт, который вы посещаете, каждое отправленное в интернете письмо, каждый персонаж в игровой вселенной любимой MMO – все эти цифровые сущности живут на серверах. Давайте разберемся, что представляют собой серверы и почему так важны для работы всего интернета.
Разбираем понятие «сервер»
Изначально сервером называли приложение или процесс, запущенный на компьютере. Термин появился в 1969 году в документации, описывающей ARPANET (это предшественник интернета). Он произошел от слова serving, то есть «служить», которое хорошо описывает деятельность сервера в общих чертах.
Со временем термин немного расширился и теперь описывает любое устройство, на котором запущены серверные приложения. То есть те, что обслуживают пользователей в той или иной стези.
Если говорить чуть более ясно, то это ПК, который беспрерывно работает и выступает в качестве площадки для разработки, базирования сетевых шлюзов, создания игровых платформ или хранения данных на постоянной основе.
Такие устройства делятся на категории по различным параметрам. В связи с этим обретают новые имена. Например, VDS, VPS, виртуальный хостинг. О том, что эти названия под собой подразумевают, поговорим позже. Говорю об этом, чтобы вы не смущались, если в дальнейшем буду называть сервер просто компьютером, VPS или «машиной».
Для чего нужны серверы?
Основное направление — поддержка интернет-ресурсов. Количество задач, возлагаемых на сервер велико. Вот несколько сценариев, в которых необходимы подобные устройства:
- хостинг сайтов;
- разработка веб-приложений;
- платформа для приема и отправки электронных писем;
- дистанционное управление принтерами;
- хранение файлов;
- создание общего рабочего пространства для сотрудников одной фирмы;
- организация среды для совместной игры в MMORPG и другие онлайн-видеоигры;
- создание шлюзов (proxy или VPN), заменяющих информацию о подключившемся компьютере на другую;
- добыча криптовалюты.
Почему их никогда не выключают?
Все описанные выше задачи подразумевают наличие аппаратной и программной платформы, которая постоянно находится в активном состоянии, обеспечивает высокую скорость и достаточную стабильность, чтобы сайты, приложения, почта и видеоигры неожиданно не отключались. Весь интернет держится на таких компьютерах.
Люди всегда хотят играть в любимые ММО, круглосуточно переписываются по электронной почте, работают и заходят на сайты. Это не физический магазин или компьютерный клуб. Нельзя просто взять и закрыть сайт на ночь и открыть к утру. Они должны быть доступны круглосуточно, а любое временное отключение считается критической ошибкой администрации ресурса, которая сильно бьет по репутации.
На серверы полагаются банковские службы, мессенджеры, такси, сервисы доставки еды, курьеры, государственные службы. Можно представить себе масштаб трагедии, если какой-то из удаленных компьютеров, поддерживающих инфраструктуру страны, вырубится.
Поэтому ими занимаются профессиональные компании, называемые хостинг-провайдерами. Они закупают мощное «железо», нанимают команду инженеров, обслуживающих все накупленное, и обеспечивают людей бесперебойным доступом к нужному им оборудованию.
Типы серверов
Есть несколько вариантов разделения серверов на группы. Мы рассмотрим две конкретные системы сортировки.
По назначению
- Веб-сервер — компьютерная программа, нон-стоп обрабатывающая запросы пользователей и показывающая им HTML-страницы. Проще говоря, это любое устройство, на базе которого работает сайт.
- Сервер приложения — программа, поддерживающая определенную сетевую логику в полноценном приложении. То есть хранение и перенос данных в том же Evernote осуществляется через такие «машины».
- Прокси-сервер — шлюз между пользователем и ресурсом, к которому он пытается подключиться. Часто подменяет IP-адрес и местоположение клиента, что делает его полезным при посещение заблокированных сайтов.
- Почтовый — получает письма, отправляет и хранит их на встроенных жестких дисках.
- Файловый — хранилище любых документов, медиа-контента и всего, что можно хранить и чем можно делиться. Примеры таких серверов – Dropbox или iCloud Drive.
- Виртуальный — утилита-гипервизор, определяющая себя как отдельный компьютер, но таковой не являющаяся. С точки зрения пользователей и администратора — обычный физический сервер, но чисто технически — определенное количество ресурсов компьютера, выделенное под арендатора с помощью технологии виртуализации.
- Сервер сетевой политики — шлюз безопасности, через которой подключаются сотрудники одной компании, чтобы начальство могло контролировать их поведение в интернете, смотреть загружаемые файлы и тому подобное.
- Сервер баз данных (SQL) — отвечает за безопасное хранение одной или нескольких баз данных. Также помогает изменять и передавать информацию, системно хранящуюся в тех самых базах.
- Компьютер для удаленного управления принтером — программа на любом ПК, которая контролирует очередь печати документов, отправленных с разных устройств в офисе или учебном заведении.
По техническим характеристикам
Теперь разберемся, почему серверы имеют разные названия.
Физический выделенный сервер
Первичный вариант. Компьютер, который расположен в хостинге. Полноценный ПК. Мало чем отличающийся от того, что стоит у вас дома. Разве что он мощнее и никогда не выключается. Любой тип сервера в плане назначения может базироваться на таком PC.
Блейд-сервер
Примерно то же самое, только в ультракомпактном корпусе. Это попытка выдать каждому арендатору полноценное выделенное «железо», но при этом сократить издержки. Это делается за счет общего питания и некоторых других компонентов, которые можно делить между клиентами.
Виртуальный хостинг
Общее пространство на одном компьютере, которое регулируется единственным администратором и предлагает клиентам пользоваться ресурсами выбранной машины дешевле, но вместе с тем лишиться ряда функций и независимости.
VDS
Виртуальный выделенный сервер. Имитация реального «железа» с помощью гипервизора. Каждый арендатор получает практически полноценный ПК, несмотря на то, что чисто технически и физически это не так. Ограничений VDS практически не имеет. Можно ставить Windows Server и даже контролировать параметры BIOS.
VPS
То же самое, что и VDS. Только с иной технологией виртуализации. Более дешевой и ограниченной даже в плане программного обеспечения. Сюда нельзя установить Windows, только дистрибутивы Linux.
Как другие компьютеры подключаются к серверу?
VPS, VDS и любой другой сервер так же, как и обычные компьютеры, подключается к сети через кабельное соединение. Попав в интернет, он тут же становится доступен другим пользователям.
Подключение со стороны клиентов происходит разными путями в зависимости от того, что представляет собой сервер. Если на нем базируется веб-сайт, то в роли клиента выступает браузер, который через доменное имя подключается к VDS и получает от него нужную пользователю информацию. Доменное имя, естественно, моментально транслируется в стандартный IP-адрес. И адрес может оставаться прежним, даже если домен был в какой-то момент изменен.
В других случаях это работает похожим образом. Разве что аспекты работы программ, подключаемых к удаленным «машинам», могут слегка варьироваться.
Где находятся серверы?
Я уже упомянул выше хостинг-провайдеров. У них. Хостинг — это компания, которая фокусируется на обеспечении своих клиентов серверными мощностями. Обычно они арендуют крупное здание, в котором располагаются сотни и тысячи ПК с различными видами «железа» и виртуальными «машинами» на них.
Эти компьютеры надежно охраняются наемной охраной, датчиками движения, системами защиты от пожара и прочими решениями в зависимости от того, какие угрозы предвидит провайдер.
Программная защита тоже играет роль. Хостинг обязан сохранять конфиденциальность клиентов, оберегать их VDS от вирусов и атак извне. Регулярно делать резервные копии данных каждого арендатора, чтобы даже в случае форс-мажора можно было бы восстановить максимум полезной информации и файлов.
Также значимую роль играет геолокация. От расположения дата-центра зависит скорость работы проектов, базированных на удаленном ПК. Игровой сервер, расположенный в Варшаве, будет быстрее и стабильнее для жителей Европы, чем аналогичный в условном Мурманске. Ну и подчиняются такие серверы законам разных стран.
Можно ли использовать любой компьютер в качестве сервера?
Да. Хоть ноутбук в сервер превращайте. Всего-то надо установить подходящее программное обеспечение. Поставил FTP-клиент, вот тебе и хранилище файлов. Поставил ПО для старта игровых платформ, вот тебе очередная площадка для игры в World of Warcraft. С хостингом веб-сайтов ситуация аналогичная.
Правда, нужно учесть ряд моментов:
- Придется держать ПК в рабочем состоянии постоянно. Иначе пользователи сразу потеряют доступ к вашим проектам.
- PC должен быть мощным. Очень мощным. Далеко не каждый ноутбук вытянет даже небольшой сайт, не говоря уже об игровых серверах или чем-то в подобном духе.
- Превращение личного PC в общедоступную платформу подвергает его новым угрозам. Придется заморочиться по поводу обеспечения безопасности.
- Ну и не стоит забывать, что ресурсы, требующиеся на поддержку серверных функций, лишат владельца компьютера возможности использовать его для решения своих задач.
Отличия сервера от обычного компьютера
И тот, и другой работают на идентичной архитектуре процессора. Только в серверные «машины» устанавливается несколько гнезд под чипы. То есть на одной материнской плате «живут» 2, 3, 4, а то и более процессора. Также на них используется память с системой коррекции ошибок.
На них устанавливаются запасные компоненты с предохранителями. На тот случай, если один из сетевых кабелей выйдет из строя, его работу на себя возьмет второй. С блоками питания схожая история. Лишившись питания от него, ПК получит нужную энергию от запасного. Предусмотреть подобное в домашних условиях на обычном компьютере тяжело.
Визуально серверы тоже отличаются. В дата-центрах их монтируют в компактные блоки. Дизайн же домашних системных блоков не предусматривает портов, систем быстрой замены компонентов и других особенностей удаленных «машин».
Программное обеспечение тоже отличается. Нужна платформа, лицензированная для работы в качестве виртуальной машины. Ну и зачастую на них стоят дистрибутивы Linux без графической оболочки с минимальным необходимым набором приложений.
Как выбрать подходящий сервер?
Есть куча аспектов, на которые надо обращать внимание. Но я бы предложил положиться на хорошего хостинг-провайдера. Он знает свое дело. Предложит подходящее «железо», обеспечит необходимым программным обеспечением.
Можно зайти на главную страницу Timeweb и спокойно выбрать доступный вариант. Можно купить виртуальный хостинг, если грядет мелкий проект, не требующий особого контроля. Можно купить VDS, чтобы сэкономить на покупке выделенного сервера, но при этом получить доступ к расширенным функциям. Для тех, кто строит онлайн-магазин или собрался открывать игровой сервер, есть выделенные «машины». Причем все они учитывают современные реалии. Есть защита от DDoS-атак, ежедневное резервное копирование, круглосуточная техподдержка и физическая защита дата-центров от любой неприятности.
Так что в первую очередь обращайте внимание на репутацию хостинга. Затем рассматривайте его предложения и не беспокойтесь о других технических аспектах.
В этом материале мы поговорим о том, как работают веб-серверы, какие бывают виды веб-хостингов и что такое выделенные серверы.
Вступление
Существуют тысячи программ, реализующих данный функционал, но наибольшей популярностью пользуются три, названия которых вы наверняка слышали. Ниже цифры в процентах от всех сайтов в мире:
Указанные значения взяты из отчета британской аналитической компании Netcraft за июнь 2019 года. Следует отметить, что NGINX впервые обошёл Apache по популярности.
Как работает сервер?
Программа, выполняющая функции веб-сервера, запускается на аппаратном сервере. При этом на одной машине может быть запущено любое количество веб-серверов, взаимодействующих между собой или работающих полностью автономно. Каждый из них может обслуживать практически любое количество сайтов ("потолок" зависит только от количества установленной памяти).
Взаимодействие браузера с сервером происходит по следующему сценарию:
- Пользователь вводит в адресную строку URL сайта.
- Браузер обращается к DNS-серверу интернет-провайдера и получает адрес удаленного сервера.
- Далее браузер отправляет запрос серверу.
- Веб-сервер обрабатывает полученный запрос, генерирует необходимую страницу и отправляет её обратно.
- Браузер отображает полученную страницу на экране.
Как видите, цепочка действий достаточно длинная, поэтому иногда процесс затягивается, что раздражает пользователей. Поэтому желательно выбирать хостинг, соответствующий сложности и возможностям его сайта.
Виды веб-хостинга
Для размещения сайтов в интернете обычно пользуются услугами хостинг-провайдеров. В зависимости от амбиций и масштабов проекта можно выбрать один из четырех вариантов:
- Обычный shared-хостинг. Это самый распространенный и доступный в финансовом плане вариант. Провайдер разместит ваш сайт на своем сервере по соседству с десятками других сайтов. Этого достаточно для полноценной работы web-ресурса, но скорость загрузки может быть невысокой, особенно в вечерние часы.
- Виртуальный сервер (VPS или VDS). Данный вариант в несколько раз дороже, но обеспечивает существенно большее быстродействие и гибкость настроек. Вы получаете в свое распоряжение аналог полноценного сервера, можете конфигурировать его на свое усмотрение и самостоятельно установить нужный web-сервер. Настраивать всё придётся самостоятельно, но это можно поручить фрилансеру или попросить помощи у технической поддержки провайдера.
- Выделенный сервер (Dedicated). Это уже полноценный аппаратный компьютер с выделенным подключением к сети. Всеми ресурсами вы распоряжаетесь единолично.
- Колокация (Colocation). Этот вариант обеспечивает наибольшую гибкость возможностей. Дата-центр предоставляет вам некоторое количество юнитов (слотов) в стандартной стойке с гарантированной подачей электроэнергии и подключением к интернету. А серверное оборудование вы покупаете и собираете самостоятельно.
Выделенные серверы
Остановимся на самом популярном виде серверов - выделенный или dedicated сервер. Разработанный проект оказался удачным и стал стремительно набирать обороты, или же вы только собираетесь запустить свой проект. В первом случае вы можете ощутить, что хостинга вам не хватает, во втором – вы все еще стоите перед выбором – хостинг или выделенный сервер.
Попробуем разобраться, в каких случаях необходимо покупать выделенный сервер.
Наличие выделенного сервера понадобится вам в том случае, если:
- Первое - у вас на сайте или проекте должно быть размещено очень много информации. Допустим, вы собрались сделать проект, которому нужно хранить очень много видео- или аудиозаписей. В этом случае можно даже не пытаться купить хостинг, потому что максимум, который там могут вам предложить, как правило, 10-20 Гб.
- Второе - высокая посещаемость сайта/проекта, допустим от 500-сот человек. При такой посещаемости выделенный сервер не роскошь, а необходимость.
- Третье - скорость потока единовременной передачи данных при «одновременной активности» на проекте превышает 2 секунды.
На термине «одновременная активность» давайте остановимся подробнее. Если не углубляться в технические термины, то это означает, что на сайте или проекте одновременно чем-то заняты не менее 5 человек. Они могут в один момент писать письма, проходить аторизацию, подгружать какие-либо приложения и т.д.
Это означает, что каждый из них одновременно взаимодействует с сервером. При такой нагрузке, если суммарное время запроса превышает 2 секунды, то вам прямая дорога к покупке выделенного сервера. Конечно же, провайдер, предоставляющий хостинг-услуги, скажет вам, что вы подключены к каналу в 100 mbps, но умолчит о том, что помимо вашого сайта к нем подключены еще 2-3 десятка таких же сайтов.
Исходя из этих соображений, можно сказать предельно просто - если ваш сайт начал грузиться очень медленно, то это повод рассмотреть возможные варианты приобретения выделенного сервера. Сервер не обязательно должен находиться на этом же хостинге, если хостинг не соответствует вашим запросам.
Виды выделенных серверов
Сервера бывают двух видов:
Виртуальный сервер, это сервер который использует для своих нужд часть ресурсов физического. Покупая выделенный сервер, вы как-бы берете в аренду часть памяти и других ресурсов основного сервера.
Оптимальным вариантом будет установка физического сервера. Это отдельный компьютер, который даст максимум необходимых ресурсов, поскольку будет полностью принадлежать вам. Этот вариант подходит, если у вас есть место для установки еще одного компьютера и деньги на его покупку.
Стоимость же выделенного сервера полностью зависит от его параметров. Как пример, 60 условных единиц в месяц будет стоить сервер со следующими параметрами:
- AMD Athlon 64 X2 3400+ 2x1.8 ГГц,
- объем оперативной памяти 4 ГБ,
- объем жесткого диска 640 ГБ.
Неплохо было бы обратить внимание на тарифные планы. Оптимальным будет безлимитный трафик и канал со скоростью 100 mbps. Но если же такой скорости вам не хватает, есть варианты, где скорость будет повыше, но, как правило, трафик в таких планах лимитирован. Допустим, терабайт вам дается изначально, а все что сверх этих объемов оплачивается отдельно.
Также существуют тарифы, при которых и скорость 1 ГБ и трафик безлимитный, но за стоимость такого тарифа можно спокойно приобрести физический сервер.
На данный момент я уже 6 месяцев для своих проектов использую выделенный сервер, купленный в AdminVPS . Каких либо особенных достоинств он не имеет, однако у них достаточно демократичные цены и быстрая поддержка, и еще есть плюс для тех кто занимается созданием сайтов - есть возможность заказать сервер в других странах.
Часто может разочаровать факт того, что сайт или проект не стали работать быстрее, а скорость загрузки на хостинге аналогичная. Но здесь может быть ряд проблем с которыми так просто не разберешься. Мой сервер работает как часы и упал он только однажды, после выкладывания нового курса по PHP. Количество желающих загрузить его одномоментно превысило 1000 человек, а такого наплыва сервер не смог выдержать. Благо когда у вас выделенный сервак, то и ваши проблемы решаются очень быстро службой поддержки.
Построение невзламываемого веб-сервера
Давайте теперь поговорим о построении "невзламываемого" веб-сервера на основе систем на одном чипе.
Кого из сайто-строителей и владельцев интернет ресурсов не интересует построение невзламываемого веб-сервера? Да и владельцы многих проектов не хотели бы, чтобы кто-то получал доступ к информации на нем, тем более, если вы храните данные по своему умному дому или какие-то приложения по его управлению.
Любые системы регулярно взламываются хакерами. Противостоять этому при помощи сетевых экранов, антивирусных мониторов, непременно имеющих бреши в системах защиты, сложно и практически невозможно. При этом можно создать такой веб-сервер, который не будет иметь описанных недостатков.
Если отойти от стереотипов создания и настройки веб-серверов на основе отработанных решений и воспользоваться иными возможностями публикации информации в сети интернет, то можно добиться стойкости портала от взломов, практически на все 100%. Достаточно применить однокристальный компьютер или контроллер.
Достаточно применить однокристальный компьютер или контроллер.Пусть даже не на одном чипе с поддержкой интернет-протоколов передачи информации в ответ на стандартные запросы к веб-серверу. И взламывать такое «чудо техники» окажется бесполезным.
Реализация простого веб-сервера с помощью решений, специально предназначенных для подобных целей – передачи информации с датчиков в сеть интернет и есть тот конёк. Расширив функции веб-сервера до нужных масштабов легко дробиться нужных результатов. Компьютерные контроллеры легко подвергаются масштабированию за счёт:
- расширения оперативной памяти,
- производительности процессоров,
- объёмов хранения данных.
Поэтому мощность портала создаваемого на таком веб-сервере ограничивается только рамками способностей генерировать сумасшедшие идеи и воплощать их в жизнь.
Чтобы веб-сервера не могли одолеть и взломать хакеры у него не должно быть как таковых интерфейсов доступа к ресурсам внутреннего контролера через ту же сеть интернет. Это самое главное требование, которое сложно реализовать в обычных компьютерах даже серверной конфигурации. Поскольку операционные системы имеют недочёты и явные дыры в системах защиты, а через эти бреши и проникают щупальца программных модулей червей и шпионов, троянских программ и вирусов.
Сервер – мощный компьютер, обслуживающий другие компьютеры в локальной сети. ComputerBild расскажет, чем сервер отличается от обычного ПК.
В любой сколько-нибудь крупной компьютерной сети постоянно возникает необходимость совместного использования ресурсов несколькими компьютерами, будь то общее подключение к Интернету, доступ к мультимедийным файлам или печать документов на одном принтере. Компьютер, который предоставляет эти ресурсы другим машинам, называется сервером. Характер этих ресурсов определяет тип сервера. На файловом сервере хранятся данные, сервер печати принимает документы и отправляет их на подключенный к нему принтер, подключаясь к прокси-серверу для выхода в Интернет, компьютеры совместно используют канал доступа. Эти и другие функции могут выполнять как разные машины, так и один компьютер.
Отличие сервера от обычного ПК
Серверы, которые используются в домашних «локалках» и на мелких предприятиях, как правило, отличаются от обычных ПК лишь установленным на них программным обеспечением. Другое дело – серверы крупных организаций. Нагрузка на их вычислительные ресурсы и устройства хранения данных очень велика. Эти машины должны вмещать большие объемы документов и обеспечивать высокую скорость доступа к ним. Также, что не менее важно, от сервера требуется бесперебойная работа и высокая отказоустойчивость. Поэтому крупные серверы, в основном, состоят из более сложного и высокопроизводительного «железа», нежели обычные ПК. При этом некоторые аппаратные компоненты, функции которых являются вторичными для сервера, оказываются более слабыми, чем их аналоги в составе домашнего ПК. Вот те комплектующие, которые отличают серверы от простых компьютеров.
Мощные процессоры. Серверы используют специальные ЦП, например Xeon фирмы Intel или Opteron от AMD. Применяются и более экзотические «камни», например Intel Itanium. Серверы начального уровня, как и простые ПК, имеют один процессор, более крупные – от двух до восьми. Самые могучие серверы представляют собой кластеры из сотен процессоров с сопутствующей «обвязкой» – материнскими платами, накопителями и т.д.
Большой объем оперативной памяти. Если домашнему ПК для полноценной работы за глаза хватает пары гигабайт «оперативки», в худших случаях – 4, то мощному серверу требуется 8–16 Гб и даже больше. Сами серверные модули памяти, как правило, обладают функцией коррекции ошибок – ЕСС (Error Correction Code). Благодаря этому ошибки записи и чтения данных, вызванные сбоем в работе электроники или дефектом микросхем памяти, не приведут к перебоям в работе «софта» или зависанию системы, как это случилось бы с обычным компьютером.
Емкие накопители. В большинстве серверов данные хранятся на быстрых и емких жестких дисках, которые объединяются в RAID-массивы. Так как от сервера одновременно требуются высокая скорость и отказоустойчивость, то форматы массивов сочетают разделение данных по нескольким жестким дискам с дублированием информации на других «винтах». Нередко встречается и возможность отключать и подключать накопители «на горячую» – т.е. не прерывая работу системы.
Широкополосное сетевое подключение. Если сервер используется для совместного доступа в Интернет десятков компьютеров, то он подключается к глобальной Сети с помощью «толстого» канала с высокой пропускной способностью. Для этого используются оптоволоконные линии или радиоканалы. Клиентские компьютеры подключаются к серверу с помощью привычных технологий Ethernet или Wi-Fi.
Аппаратные средства, выполняющее вторичные обслуживающие функции, у серверов также отличаются от периферии клиентских ПК.
Корпус. Задачи сервера определяют его конструкцию. Серверы младшего уровня выглядят, как обычные ПК, только увеличенные в размерах так, чтобы в корпус уместились более крупная материнская плата и массив накопителей. У серверов помощнее в качестве корпусов – шкафы-стойки, и нередко они состоят из нескольких блоков (компьютеров, маршрутизаторов и т.д.) в отдельных корпусах. Очень мощный серверный кластер может состоять из нескольких десятков таких шкафов. Компьютер, заключенный в компактный корпус для монтажа в стойку, называется тонким сервером (blade server).
Блок питания. Серверы начального уровня оснащены одним или двумя БП. По мере возрастания числа функциональных блоков сервера и увеличения их «аппетитов» увеличиваются число и мощность блоков питания. Часто существует возможность «горячей» замены или подключения дополнительного БП.
Устройства вывода. Так как вывод видео и звука входит в число клиентских, а не серверных задач, устройства подобного назначения у серверов либо отсутствуют вовсе (тогда управление системой осуществляется удаленно с клиентского ПК), либо достаточно примитивны.
Особенности работы и аппаратного обеспечения мощного сервера диктуют и необходимость его специфического обслуживания.
Бесперебойное энергоснабжение. Промышленные сетевые фильтры и источники бесперебойного питания предотвращают потери данных в случае «провалов» напряжения в электрической сети, а также снижают вероятность повреждения «железа» и файлов при его резких перепадах. В ряде случаев, когда требуется бесперебойная работа вопреки всему, используются генераторы резервного питания.
Усиленное охлаждение. Большинство серверов, как и клиентские ПК, охлаждается воздухом. Проблема возрастающего вместе с производительностью тепловыделения решается с помощью усиленной вентиляции корпусов и помещений, где устанавливаются серверы. Усиленное охлаждение отдельных компонентов серверам не требуется, поэтому системы водяного охлаждения в них не встречаются
Специализированное програмное обеспечение. На серверах устанавливаются операционные системы, адаптированные к серверным задачам, например Windows Server 2003, специальные версии Linux или Free BSD или сугубо серверные ОС – такие, как Solaris фирмы Sun Microsystems. В качестве основного программного обеспечения используются программы-серверы, например Apache для поддержки веб-сайтов или Microsoft Exchange Server для приема и отправки электронной почты.
Типы серверов
Сервером называют не только компьютер, но и программное обеспечение, управляющее разделяемыми ресурсами и доступом к ним. На одном компьютере может работать одновременно несколько программ-серверов. В обиходе, говоря, например, о «почтовом сервере», подразумевают совокупность «железа» и «софта». В зависимости от функций, которые выполняет ПО, можно выделить несколько разновидностей серверов. Все их можно разделить на две группы: серверы, задачей которых является хранение данных и предоставление доступа к ним пользователям, и серверы, управляющие транспортом данных в сети и поддерживающие ее работу. К первой группе относятся следующие типы серверов.
Файловый сервер. В его задачи входит хранение файлов и обеспечение доступа к ним клиентских ПК, например по протоколу FTP. Ресурсы файл-сервера могут быть либо открыты для всех компьютеров в сети, либо защищены системой идентификации и правами доступа.
Мультимедийные серверы являются разновидностью файл-серверов. Они предназначены для хранения фотографий, музыки, фильмов и другого мультимедийного контента. В качестве такого сервера не обязательно использовать компьютер. Можно купить устройство NAS или даже обойтись компактным внешним жестким диском, подключаемым к сети через интерфейс Ethernet или Wi-Fi.
Сервер печати принимает запросы на печать от компьютеров локальной сети и отправляет их на один или несколько подключенных к нему принтеров.
Игровые серверы. Разработчики компьютерных игр открывают специальные серверы, на которых пользователи могут играть друг с другом. Некогда наибольшей популярностью пользовались серверы 3D-шутеров и стратегий, позволяющие идти только одному матчу в отдельно взятый промежуток времени или нескольким одновременно. Редкая домовая или квартальная «локалка» обходится без такого сервера. В наше время более востребованы серверы различных MMORPG (Massive Multiplayer Online Role Playing Game), на которых одновременно могут играть сотни и тысячи человек (пример: игры Lineage 2 и World of Warcraft).
Веб-серверы. Эти серверы предоставляют доступ к веб-страницам и сопутствующим ресурсам, например картинкам. Сайты с высокой посещаемостью или расширенной функциональностью размещаются сразу на нескольких серверах.
Серверы данных хранят различного рода материалы, необходимые для функционирования серверов другого назначения. К примеру, некоторые тексты, рисунки и стилевые элементы веб-сайта могут быть расположены на отдельном сервере данных. Когда пользователь открывает стартовую страницу сайта, то веб-сервер передает серверу данных запрос на получение необходимых материалов. Сервер баз данных осуществляет поиск запрошенных данных и посылает их веб-серверу. Он, в свою очередь, формирует веб-страницу и посылает ее клиентскому компьютеру.
В список серверов, управляющих транспортом трафика, входят следующие разновидности.
DHCP-серверы. Dynamic Host Configuration Protocol обеспечивает автоматическое распределение IP-адресов между компьютерами в сети. Такая технология широко применяется в локальных сетях с общим выходом в Интернет.
DNS-серверы. Функция DNS-сервера заключается в преобразовании доменных имен серверов в IP-адреса. Передача данных в сетях осуществляется с помошью IP-адресов, сайт с неизменным доменным именем может не раз «переезжать» с одного сервера на другой, меняя свой IP-адрес. Поэтому таблицы соответствия IP-адресов и доменных имен в системе DNS (Domain Name System) регулярно обновляются, и серверы синхронизируют их между собой.
Прокси-серверы выступают в качестве посредников при передаче данных по сети – с компьютера на компьютер. Они используются либо для организации разделяемого доступа в Интернет, когда требуется контроль и фильтрация трафика, либо для сокрытия IP-адреса ПК от компьютера-«собеседника», т.к. последний при коммуникации через прокси-сервер будет «видеть» только адрес прокси.
Кэш-серверы. Чтобы при каждом открытии веб-страницы клиентскому компьютеру не приходилось запрашивать заново все составляющие ее данные, используются промежуточные накопители – кэш-серверы. Если страница, запрошенная пользователем, не изменилась с времен последнего запроса, то ее можно загрузить не с «родного» хранилища, а из недр кэш-сервера.
Архитектуры «клиент-сервер» и Peer-to-Peer
На архитектуре «клиент-сервер» основано большинство традиционных интернет-сервисов. Но в последнее время получила распространение принципиально другая организация сети.
В архитектуре Peer-to-Peer (P2P) все компьютеры равноправны и каждый хранит часть общего объема данных. При этом каждая машина выступает одновременно и в качестве клиента, и в роли сервера. Самый успешный пример реализации P2P – файлообменные сети (eDonkey2000, BitTorrent). Получая файл из такой сети, вы одновременно скачиваете его фрагменты с десятков компьютеров. Благодаря распределению данных пиринговые (иначе одноранговые, децентрализованные) сети отличаются высокой отказоустойчивостью и скоростью работы.
Справедливости ради надо признать, что большинство пиринговых сетей не обходится без серверов совсем. К примеру, файлообменные сети используют серверы (трекеры) для управления трафиком и его учета.
Домашний сервер
Все современные операционные системы имеют серверные возможности. С их помощью можно открывать пользователям других ПК доступ к данным на жестком диске или к подключенному к компьютеру принтеру, а также «делиться» подключением к Интернету. Кроме того, домашний сервер можно использовать для резервного хранения данных или, сделав его доступным через Интернет, работать с документами на нем с любого ПК, подключенного к глобальной Сети.
«Поднять» домашний сервер для хранения файлов и разделения доступа к Интернету не так сложно, как может показаться неискушенному пользователю. Для этого понадобятся следующие компоненты.
Компьютер. Для файлового или простого веб-сервера достаточно компьютера с процессором не слабее Pentium II или Athlon, оперативной памятью объемом 256 Мб и приводом CD-ROM. Если же на компьютере планируется запуск игрового сервера (весьма популярная инициатива в небольших локальных сетях), потребуется машина мощнее.
В качестве первого шага на нем можно запустить сервер Linux с диска Live-CD. Побаловавшись с ним, вы решите, стоит ли вам переходить к более серьезным мероприятиям. Если вы все-таки решите использовать компьютер в качестве сервера постоянно, то Linux необходимо будет установить на жесткий диск. Для этого достаточно 10 Гб свободного места. Все остальное пространство останется для файлов и дополнительного программного обеспечения (в первую очередь – программ-серверов).
Неплохая идея – использовать в качестве сервера старый ноутбук. При продолжительной эксплуатации это позволит сэкономить на счетах за электроэнергию. Кроме того, сложенный ноутбук занимает совсем немного места. Единственный недостаток ноутбука в данном случае – ограниченные возможности по подключению накопителей.
Дистрибутив Linux. С помощью бесплатной версии Linux (Open SuSe, Ubuntu или Knoppix) вы можете создать сервер, который обладает всеми функциями, необходимыми для домашнего использования.
Большинство дистрибутивов Linux также имеет и платные версии – например, в случае с SuSe она называется SuSe Enterprise Server. Эта версия Linux отличается дополнительной технической поддержкой производителя и расширенным комплектом программ.
Интернет. Перейдя по этим ссылкам, вы можете скачать различные дистрибутивы Linux для домашнего сервера:
WLAN-маршрутизаторы и сетевые жесткие диски
Работа домашней сети редко требует использования в качестве сервера отдельного ПК. В зависимости от количества данных, которое он будет хранить, и задач, которые будет выполнять, можно выбрать один из двух более дешевых вариантов.
WLAN-маршрутизатор плюс внешний жесткий диск
Многие беспроводные маршрутизаторы имеют порт USB, к которому можно подключить внешний жесткий диск. К сохраненным на нем данным будет иметь доступ любой компьютер в сети.
Сетевые жесткие диски
Сетевое хранилище данных (Network Attached Storage –NAS) представляет собой компактный и недорогой (по сравнению с отдельным ПК) сервер, который выполняет только одну функцию – хранение данных. Мощные NAS обладают богатым набором интерфейсов и возможностью удаленной конфигурации через веб-интерфейс (подобно маршрутизаторам). Более простые варианты такого решения – обычные внешние жесткие диски с сетевым интерфейсом Ethernet или Wi-Fi.
Сервер на базе полноценного компьютера имеет смысл устанавливать лишь в том случае, если функциональности NAS уже не хватает: например, требуется «поднять» небольшой игровой сервер в домовой сети или веб-сайт. Для этих целей будет достаточно старого компьютера с ОС Linux, хотя можно использовать и Windows.
Читайте также: