NetGrid Host

Запустить сайт на VPS за 30 минут — домен, Cloudflare, бесплатный SSL и защита от DDoS

Самый дешёвый и быстрый путь от пустоты до живого HTTPS-сайта в 2026: домен в GoDaddy (или у любого регистратора), DNS + бесплатный SSL + бесплатная защита от DDoS через Cloudflare, сам сайт — на VPS NetGrid Host. Пошагово, с готовыми командами для HTML, PHP, Python и Node.js.

12 мин на чтение·Обновлено 2026-05-03

Самый быстрый и дешёвый способ выложить сайт в продакшен в 2026 году — это связка из трёх компонентов, которую любой может собрать примерно за тридцать минут. Регистрируем домен у любого нормального регистратора (в этой статье берём GoDaddy для примера, но Namecheap, Porkbun или Gandi работают одинаково), направляем его DNS на бесплатный план Cloudflare — получаем DNS, бесплатный SSL и бесплатную защиту от DDoS в одной коробке, и поднимаем сам веб-сервер на маленьком VPS. Эта статья проводит по каждому шагу, включая команды для четырёх самых частых стэков (статический HTML, PHP, Python, Node.js).

Что нужно (и сколько это стоит)

Регистратор домена (GoDaddy, Namecheap, Porkbun, Gandi …)~$10–15 в год за .com
DNS + CDN + SSL + DDoS — бесплатный план CloudflareБесплатно, без карты
VPS — тариф Starter в NetGrid Host€2.98 в месяц, разворачивается за ~60 секунд
Итого в месяц~€2/мес за сервер + ~$1/мес амортизация домена
Почему именно эта связка
Каждый компонент решает одну задачу, между ними нет пересечения. Регистратор только владеет доменом, в request path он не находится. Cloudflare стоит перед сервером и даёт CDN, бесплатный TLS-сертификат и L3/L4 DDoS-фильтр — всё на бесплатном плане. VPS просто крутит ваше приложение. Всё развязано, поэтому если потом захочется заменить какой-то компонент — два других не заметят.

Шаг 1 — зарегистрировать домен

Заведите аккаунт на GoDaddy (или у любого другого ICANN-аккредитованного регистратора), найдите нужное имя, оплатите. Стандартной регистрации достаточно — больше ничего не нужно.

Не покупайте дополнительные услуги
Регистраторы пытаются впихнуть privacy protection, почтовый хостинг, веб-хостинг, SSL-сертификаты и SEO-услуги. Ничего из этого не нужно: WHOIS-приватность теперь бесплатна для физлиц по правилам ICANN RDDS, а всё остальное заменяется Cloudflare-ом и вашим VPS за меньшие деньги. Платите только за домен, больше ничего.

Шаг 2 — зарегистрироваться в Cloudflare и добавить сайт

Создайте бесплатный аккаунт на cloudflare.com, затем:

  1. Нажмите Add a site в дашборде.
  2. Введите ваш домен (например `example.com`) — без https:// и без www.
  3. Выберите план Free (он внизу списка, может потребоваться прокрутить).
  4. Cloudflare сканирует существующие DNS-записи (для свежего домена обычно ничего не находит) и выдаёт два nameservers вида `marek.ns.cloudflare.com` и `tessa.ns.cloudflare.com`. Конкретная пара уникальна для вашего аккаунта — запишите.

Шаг 3 — направить GoDaddy на nameservers Cloudflare

  1. GoDaddy → My Products → рядом с вашим доменом нажмите DNS → прокрутите до Nameservers → Change.
  2. Выберите I'll use my own nameservers.
  3. Удалите дефолтные GoDaddy-овские, вставьте две nameservers от Cloudflare из Шага 2.
  4. Сохраните. GoDaddy может попросить подтвердить по почте.
  5. В Cloudflare нажмите Done, check nameservers.
Распространение DNS: обычно 1–4 часа, может до 24
После сохранения изменение должно распространиться по глобальной системе DNS. Cloudflare пришлёт письмо в момент когда увидит переключение (обычно в течение часа). Можно работать дальше параллельно — Шаги 4–8 не зависят от завершения распространения.

Шаг 4 — заказать VPS на NetGrid Host

На netgrid.host выберите тариф (Starter за €2.98/мес хватает для подавляющего большинства маленьких сайтов), выберите локацию ближе к аудитории, выберите ОС — для веб-серверов рекомендуем Ubuntu 24.04 LTS (долгосрочная поддержка, любое руководство в интернете на ней работает). VPS соберётся и запустится примерно за 60 секунд. Вам придёт письмо с публичным IP, root-паролем и SSH-портом.

Шаг 5 — направить Cloudflare на ваш VPS (A-запись)

  1. Cloudflare → ваш домен → DNS → Records → Add record.
  2. Type: A.
  3. Name: `@` (это означает голый домен, например `example.com`).
  4. IPv4 address: публичный IP из приветственного письма NetGrid Host.
  5. Proxy status: Proxied (оранжевое облачко). Это и есть магия — трафик идёт через сеть Cloudflare, что даёт бесплатный SSL и защиту от DDoS. Если поставить DNS only (серое облачко), Cloudflare просто резолвит DNS и не вмешивается — теряются CDN, SSL и DDoS-фильтр.
  6. TTL: Auto.
  7. Save.

Затем добавьте запись для `www`, чтобы работали оба варианта: и `example.com`, и `www.example.com`:

  1. Add record → Type CNAME.
  2. Name: `www`.
  3. Target: `example.com` (ваш голый домен).
  4. Proxy status: Proxied.
  5. Save.
Что на самом деле делает оранжевое облачко
Когда DNS в режиме Proxied, Cloudflare возвращает СВОИ IP (обычно 104.x.x.x или 172.x.x.x) вместо IP вашего VPS, когда кто-то резолвит ваш домен. Посетители коннектятся к Cloudflare; Cloudflare коннектится к вашему VPS в фоне. Ваш реальный IP скрыт, трафик фильтруется на атаки, статический контент кешируется на edge-PoP в 300+ городах. Ничего этого не работает в режиме DNS only.

Шаг 6 — включить бесплатный SSL (HTTPS)

Cloudflare → SSL/TLS → Overview → выберите режим SSL/TLS encryption:

OffПолностью отключает HTTPS. Не используйте.
FlexibleHTTPS между посетителем и Cloudflare; HTTP между Cloudflare и вашим VPS. Самый быстрый способ запустить, но задняя половина незашифрована. ОК на первые 10 минут, потом перейти выше.
FullHTTPS end-to-end, но Cloudflare не валидирует сертификат на вашем VPS — самоподписанный сходит. Хороший промежуточный.
Full (strict) ★HTTPS end-to-end, Cloudflare валидирует сертификат на VPS. Рекомендуемая цель. Бесплатный Cloudflare Origin Certificate (см. Шаг 9) поднимает сюда за 5 минут.
Без HTTPS сайт в 2026 фактически сломан
Современные браузеры пишут «Not Secure» рядом с HTTP. Google Search использует HTTPS как положительный сигнал ранжирования и понижает чистый HTTP. Многие фичи веб-платформы (геолокация, камера, микрофон, push-уведомления, service workers, установка PWA) тихо отказываются работать на HTTP. Mixed-content blocking ломает страницу, если HTTPS-загруженные ресурсы ссылаются на HTTP-ассеты. Бесплатный TLS через Cloudflare или Let's Encrypt — это базовое ожидание с ~2018 года; в 2026 это даже не обсуждается.

Шаг 7 — бесплатная защита от DDoS (уже работает)

Никакой кнопки «включить DDoS» нет — она автоматически активна с момента, когда DNS в режиме Proxied через Cloudflare. Бесплатный план поглощает L3/L4 объёмные атаки порядка десятков Гбит/с без вашего участия. Долгие масштабные L7-атаки могут потребовать платный план, но для типичных малых/средних сайтов бесплатного тира хватает реально.

Шаг 8 — собственно поднять веб-сервер на VPS

Подключитесь по SSH (используйте IP, порт и root-пароль из приветственного письма):

ssh -p <ПОРТ> root@<IP-ВАШЕГО-VPS>

Дальше зависит от того, какой у вас сайт. Выберите вкладку под ваш стек — команды установки и рабочий nginx-конфиг для каждого:

Статический сайт HTML / JS / CSS

sudo apt update && sudo apt install -y nginx
sudo rm /etc/nginx/sites-enabled/default

# Файлы сайта кладём сюда:
sudo mkdir -p /var/www/example.com
echo '<h1>It works!</h1>' | sudo tee /var/www/example.com/index.html
sudo chown -R www-data:www-data /var/www/example.com

Минимальный конфиг nginx — сохраните как `/etc/nginx/sites-available/example.com.conf` (Debian) или `/etc/nginx/conf.d/example.com.conf` (RHEL):

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}
# Только для Debian/Ubuntu — активировать сайт:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

# Везде — проверить и перезагрузить:
sudo nginx -t && sudo systemctl reload nginx

PHP-сайт (стек LEMP)

sudo apt install -y nginx php-fpm php-mysql mariadb-server
sudo systemctl enable --now nginx php8.3-fpm mariadb
sudo mkdir -p /var/www/example.com
echo '<?php phpinfo();' | sudo tee /var/www/example.com/index.php
sudo chown -R www-data:www-data /var/www/example.com

nginx-конфиг, который отдаёт `.php` файлы PHP-FPM:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.php index.html;

    location / { try_files $uri $uri/ /index.php?$args; }

    location ~ \.php$ {
        include fastcgi_params;
        # Скорректируйте путь к сокету под ваш дистрибутив/версию PHP:
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Python-сайт (gunicorn + nginx reverse proxy)

sudo apt install -y nginx python3-venv python3-pip
sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
cd /var/www/example.com
python3 -m venv venv
source venv/bin/activate
pip install gunicorn flask    # или django, fastapi, и т.д.

Запускаем gunicorn под systemd. Сохраните как `/etc/systemd/system/example.service`:

[Unit]
Description=example.com gunicorn
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/example.com
Environment="PATH=/var/www/example.com/venv/bin"
ExecStart=/var/www/example.com/venv/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 app:app
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now example
sudo systemctl status example

nginx как reverse-proxy перед gunicorn:

server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Node.js-сайт (pm2 + nginx reverse proxy)

# Установка Node.js 22 LTS через NodeSource:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt install -y nodejs nginx
sudo npm install -g pm2
# В директории проекта:
cd /var/www/example.com
npm install
pm2 start npm --name example -- start    # или: pm2 start server.js --name example
pm2 save
pm2 startup                              # выполните напечатанную команду для автостарта

nginx-конфиг — тот же reverse-proxy паттерн, только укажите порт, на котором слушает ваше Node-приложение (обычно 3000):

server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Шаг 9 — закрыть петлю с Cloudflare Origin SSL (Full strict)

Когда сайт уже грузится по простому HTTP через Cloudflare, надо проапгрейдить соединение между Cloudflare и вашим VPS до зашифрованного-и-валидируемого:

  1. Cloudflare → SSL/TLS → Origin Server → Create Certificate. Дефолты подходят. Cloudflare выдаст публичный сертификат и приватный ключ.
  2. На VPS: сохраните сертификат как `/etc/ssl/cloudflare-origin.pem`, а ключ как `/etc/ssl/cloudflare-origin.key`. На ключ — `chmod 600`.
  3. В nginx-серверный блок добавьте: `listen 443 ssl;` плюс `ssl_certificate /etc/ssl/cloudflare-origin.pem;` и `ssl_certificate_key /etc/ssl/cloudflare-origin.key;`. Перезагрузите nginx: `sudo nginx -t && sudo systemctl reload nginx`.
  4. Cloudflare → SSL/TLS → Overview → переключите режим encryption на Full (strict).
  5. Cloudflare → SSL/TLS → Edge Certificates → включите Always Use HTTPS — Cloudflare сам редиректит HTTP-запросы на HTTPS.

Шаг 10 — проверить, что всё реально работает

# DNS теперь возвращает Cloudflare-овские IP (104.x.x.x / 172.x.x.x), а не IP вашего VPS:
dig +short example.com

# HTTPS отвечает 200:
curl -sI https://example.com | head -1

# Origin доступен с Cloudflare (тест с самого VPS):
curl -sI -H 'Host: example.com' http://127.0.0.1

# В браузере: откройте https://example.com — должен быть зелёный замок и ваш контент.
# Публичный TLS-аудит: https://www.ssllabs.com/ssltest/analyze.html?d=example.com
Частые грабли когда что-то не работает
1) DNS-распространение ещё не закончилось — подождите час, повторите. 2) SSL Mode «Full (strict)», но на VPS нет сертификата → в браузере увидите Cloudflare error 525/526. Лечится завершением Шага 9 или временным переключением обратно на «Full». 3) DNS-запись в режиме DNS only (серое облачко) вместо Proxied — нет SSL, нет DDoS, нет CDN. 4) Cloudflare cache отдаёт старый контент после редеплоя → Caching → Purge Cache → Purge Everything. 5) Сайт работает без `www`, но не работает с — забыли CNAME в Шаге 5. 6) Сервис не стартовал на VPS → `sudo systemctl status nginx php-fpm` (что применимо) и `sudo journalctl -u nginx -e`.

Если что-то на самом VPS ведёт себя странно — чеклист диагностических команд в статье «Полезные команды диагностики Linux-сервера», а глубокий разбор по портам и фаерволу — в статье «Открытые порты, фаерволы и почему мой порт показывается закрытым извне».

Итого
Около тридцати минут кликов и SSH — и у вас настоящий продакшен-сайт: домен, который вы владеете, глобальный CDN, бесплатный TLS end-to-end, бесплатный DDoS-фильтр и маленький VPS, на котором крутится ваш реальный код. Текущая стоимость — около €2 в месяц плюс продление домена раз в год. Для подавляющего большинства проектов — лендингов, маленьких SaaS, блогов, хобби-проектов, side-бизнесов — этого стека хватает на годы.

NetGrid Host

VPS от€1.99в месяц

Безлимитный трафик, порт 1 Гбит/с и NVMe-хранилище. 12 локаций в Европе и США.

Безлимитный трафик·Порт 1 Гбит/с·12 локаций