Деплой на VPS
Свой сервер, свой домен, HTTPS — разворачиваем сайт руками агента, без знания Linux.
Деплой
на VPS
Свой сервер, свой домен, полный контроль. Разворачиваем сайт и подключаем HTTPS — всё руками агента, без знания Linux.
Что такое VPS и зачем он нужен
Следующий уровень после Pages и Vercel. Здесь у тебя свой сервер в интернете и свой домен — полный контроль над инфраструктурой.
VPS (Virtual Private Server) — это маленький компьютер в дата-центре, который ты арендуешь. Работает 24/7, у него свой IP-адрес, своя ОС (обычно Linux), и ты делаешь с ним что хочешь.
Чем VPS отличается от Pages и Vercel
На Pages и Vercel платформа всё решает за тебя. На VPS — ты сам: какие программы поставить, какой веб-сервер, какой домен, как настроить HTTPS.
Только статика. Ноль настроек.
Сборка фронта. Минимум настроек.
Свой сервер. Полный контроль.
Как это устроено: домен, DNS, nginx
Прежде чем покупать — разберём, что происходит, когда человек заходит на сайт. Три участника: домен, DNS и nginx.
Кто за что отвечает
- Домен (
site.ru) — красивый адрес, который вводит человек. Покупается у регистратора (reg.ru). - DNS — превращает домен в IP-адрес сервера. «Телефонная книга» интернета: по имени находит номер.
- nginx — веб-сервер на твоём VPS. Принимает запросы и отдаёт страницы. Его настроит агент.
Что понадобится + SSH-ключ
Чек-лист перед стартом
- Сайт в репозитории на GitHub. Любой: HTML, React, Next, Vue.
- Аккаунт на Timeweb Cloud. Российский VPS-провайдер, оплата картой РФ, от ~300 ₽/мес.
- Аккаунт на reg.ru. Российский регистратор — здесь возьмём домен.
- Карта для оплаты.
Шаг 1. Генерируем SSH-ключ через агента
SSH-ключ — твой пропуск на сервер. Безопаснее пароля и ничего не надо запоминать.
- Агент создаст пару: приватный ключ (хранится у тебя) и публичный (кладётся на серверы)
- Покажет в чате публичный ключ — длинная строка на
ssh-ed25519
Покупаем сервер и домен
Шаг 2. VPS на Timeweb Cloud
- 1Зайди на
timeweb.cloud, зарегайся - 2Облачные серверы → Создать сервер
- 3ОС: Ubuntu 24.04 LTS
- 4Тариф: минимальный — 1 CPU / 1 ГБ RAM
- 5Авторизация: выбери SSH-ключ → вставь публичный ключ от агента
- 6Имя любое → Создать
123.45.67.89). Это всё, что нужно. Никаких паролей.Шаг 3. Домен на reg.ru
- 1Зайди на
reg.ru, зарегайся - 2В поиске введи имя домена, напр.
my-cool-site - 3Самый дешёвый для РФ —
.ru, обычно 199–300 ₽/год - 4Добавь в корзину, оформи и оплати
Привязываем домен к серверу
Шаг 4. Чтобы при заходе на my-cool-site.ru открывался сайт с твоего VPS, нужно настроить DNS-записи.
- 1В кабинете reg.ru открой свой домен
- 2Найди раздел DNS-серверы и зона
- 3Убедись, что используются DNS reg.ru (
ns1.reg.ru) - 4Открой зону и добавь две A-записи:
| Тип | Поддомен | Значение |
|---|---|---|
A | @ (сам домен) | IP твоего VPS |
A | www | IP твоего VPS |
Разворачиваем сайт и HTTPS
Главный момент. Всё делает агент — ему нужны IP сервера, ссылка на репозиторий и домен.
Шаг 5. Разворачиваем сайт
Что сделает агент:
- Зайдёт по SSH, поставит окружение (Node, если есть
npm run build) - Склонирует репозиторий, соберёт проект
- Установит и настроит nginx
- Проверит, что сайт открывается
Шаг 6. Подключаем HTTPS
Сейчас сайт по http:// и браузер пишет «небезопасно». Решается одним промптом:
Агент поставит certbot, получит сертификат, перенастроит nginx на HTTPS, включит редирект и автообновление (сертификаты живут 90 дней, продление автоматическое).
Обновление и безопасность
Как обновлять сайт
Поменял код, протестировал, запушил в репозиторий. Дальше — один промпт:
Агент зайдёт на сервер, подтянет код через git pull, пересоберёт проект и перезагрузит nginx. Сайт обновится за пару секунд.
Безопасность: что нельзя забывать
1. Не коммить токены и пароли. Переменные — в .env на сервере, а .env — в .gitignore.
2. Приватный SSH-ключ — в безопасности. Засветил публично — считай скомпрометированным.
3. Контакты домена на reg.ru держи актуальными. Истечёт срок — домен может уйти другому.
Типичные проблемы
| Проблема | Что делать |
|---|---|
| Открывается по IP, но не по домену | DNS ещё не обновился. Подожди 10–60 мин. Статус — на dnschecker.org. |
| Не открывается ни по домену, ни по IP | Что-то с nginx. Агенту: «зайди на сервер и посмотри, что не так» — он глянет логи. |
| HTTPS не подключается | Чаще всего DNS не обновился. Дождись и попроси агента повторить. |
| «Too many requests» от Let's Encrypt | Упёрся в лимит. Подожди час и попробуй снова. |
| Любая другая ошибка | Опиши агенту — он зайдёт на сервер и разрулит. Знать Linux не нужно. |
Что важно запомнить
VPS даёт полный контроль
Свой сервер, домен, стек. Цена — больше ручной работы, но через агента это не проблема.Сервер и домен платные
Сервер — пока существует, домен — раз в год. Не нужен проект → удали сервер в панели, иначе деньги списываются.Все настройки делает агент
SSH-ключ, nginx, certbot, обновления. Учить Linux не нужно.DNS-изменения не моментальные
Не работает сразу после привязки домена — скорее всего просто надо подождать.Секреты — не в репозиторий
.env в .gitignore, приватный ключ никому не показывай.