раздел 01
Что такое сервер
Что это
Сервер - это компьютер, который работает круглосуточно и обслуживает запросы других машин по сети. Когда вы открываете сайт, ваш браузер (клиент) посылает запрос серверу, а сервер отдаёт страницу в ответ. Физически это обычный компьютер, просто без монитора и клавиатуры: стоит в дата-центре, управляется удалённо через терминал.
Чем отличается от вашего компьютера
| | Ваш ноутбук | Сервер | |---|---|---| | Работает | Когда вы его включили | 24/7, без перерывов | | Адрес в сети | Меняется, обычно за роутером | Постоянный публичный IP | | Управление | Мышь, клавиатура, экран | Удалённо, по SSH из терминала | | Задача | Личная работа | Обслуживать запросы пользователей | | Доступность | Только вам | Всему интернету (если разрешите) |
Физический и виртуальный
Физический (bare metal) сервер - это реальная железка целиком ваша. Все ядра, вся память, весь диск - только под вас. Дорого, но максимум контроля и производительности.
Виртуальный сервер (VPS/VDS) - это кусок мощного физического сервера, нарезанный на части специальной программой (гипервизором). На одной железке живёт много изолированных виртуальных серверов, и каждый ведёт себя как отдельный компьютер. Вы платите только за свой кусок. Это самый частый вариант для старта.
VPS (Virtual Private Server) и VDS (Virtual Dedicated Server) - почти синонимы, разница в технологии виртуализации. Для начинающего разница не принципиальна: это виртуальный сервер с гарантированными ресурсами.
Облачный сервер - это тот же виртуальный сервер, но в облачной платформе, где его легко создать за минуту, увеличить ресурсы на лету, подключить хранилище, бэкапы, балансировщик. Большинство провайдеров из этого курса дают именно облачные серверы.
Почему работает 24/7
Сервер стоит в дата-центре - здании с резервным питанием, охлаждением и резервными каналами интернета. Если пропадёт городское электричество, включатся аккумуляторы и дизель-генераторы. Поэтому сервер не зависит от того, что у вас дома выключили свет или вы закрыли ноутбук.
Пример
Телеграм-бот на Python. На ноутбуке вы запускаете python bot.py - бот отвечает, пока терминал открыт. Закрыли - бот молчит. На сервере вы запускаете тот же скрипт (обычно внутри Docker или systemd), он крутится постоянно, и бот отвечает всем и всегда, даже когда ваш ноутбук выключен.
Антипаттерны
- Держать прод на своём ноутбуке. Выключился ноут или интернет - продукт лёг. Сервер для того и нужен.
- Брать физический сервер для маленького проекта. Дорого и избыточно. Начните с VPS.
- Путать сервер и сайт. Сервер - это машина. Сайт - это программа, которая на ней работает. На одном сервере может жить несколько сайтов.
Что дальше
Разберём, из чего сервер состоит: ядра, память, диск, сеть и ОС - и что на что влияет.