🐹 Бесплатные фишки по ИИ и заработку в нашем Telegram
Вайб-кодинг

Деплой SaaS на сервер: от локального к продакшену

Узнайте три способа развёртывания SaaS-приложений и выберите оптимальный для вашего проекта. Пошаговое руководство от аренды VPS до запуска в продакшене.

Как задеплоить SaaS на сервер: полное руководство

Ключевые цифры

🚀
3 подхода
Docker, CI/CD, панель хостинга
⏱️
30 минут
типовое время деплоя с Fastpanel
💰
От $3-5
минимальная стоимость VPS в месяц
🔒
SSL автоматический
Let's Encrypt, обновляется каждые 3 месяца
📊
N сайтов
на одном сервере без конфликтов

Три способа развёртывания: сравнение

Деплой SaaS на сервер — это перенос приложения с локальной машины в интернет. Каждый подход имеет разные требования к знаниям и автоматизации.

Docker: контейнеризация

Docker упаковывает приложение со всем окружением (PHP, база данных, зависимости) в изолированный контейнер. Идея простая: одинаковое поведение на любом сервере, будь то ваш локальный компьютер, staging или production.

Плюсы:

  • Воспроизводимость — критично для больших команд и микросервисной архитектуры
  • Масштабируемость — легко спинить несколько контейнеров одновременно
  • Изоляция — конфликты между проектами исключены

Минусы:

  • Требует написания Dockerfile и docker-compose.yml
  • Нужны знания про сети, логирование, orchestration (Kubernetes)
  • Начальная настройка может занять дни

Когда оправдано: для команд разработчиков, сложных масштабируемых архитектур, когда воспроизводимость критична. Для стартапа из одного человека часто избыточно.

CI/CD (GitHub Actions)

При пуше кода в репозиторий запускается автоматический пайплайн, который тестирует, собирает и развёртывает приложение на сервер. После настройки деплой занимает ноль секунд человеческого времени.

Плюсы:

  • Полная автоматизация процесса
  • Исключает человеческий фактор (забывчивость, спешку)
  • Идеален при частых релизах и работе в команде

Минусы:

  • Сложная первоначальная настройка пайплайна
  • Требует конфигурации SSH ключей, GitHub Secrets, переменных окружения
  • Отладка проблем деплоя требует опыта

Когда оправдано: при активной разработке, частых релизах, стабильной команде разработчиков.

Панель хостинга: простота и удобство

Fastpanel, Hestia, cPanel — это визуальный интерфейс в браузере для управления сервером. Всё через формы: создание сайтов, настройка доменов, выпуск SSL, управление базами данных.

Плюсы:

  • Простота — интерфейс с формами, минимум ошибок
  • Удобство — в пару кликов создать сайт, домен, SSL-сертификат
  • Изоляция проектов — несколько сайтов на одном VPS без конфликтов
  • Быстрый старт — запуск продакшена за 30 минут

Минусы:

  • Менее гибкий, чем Docker для сложных архитектур
  • Менее автоматизирован, чем CI/CD (деплой вручную через интерфейс)
  • Ограничения в настройке инфраструктуры

Когда оправдано: для PHP проектов, одного человека или маленькой команды, когда нужно быстро запустить проект без глубоких знаний DevOps.

Пошаговый деплой с Fastpanel

Для стартапа на одного человека (например, PHP SaaS) оптимальный путь — использовать панель хостинга. Рассмотрим полный процесс от аренды сервера до первого запуска.

Шаг 1: аренда и настройка VPS

Выберите провайдера: Hetzner, Digital Ocean, Linode или локальный провайдер (например, в РФ). Важно выбрать дата-центр ближе к целевой аудитории для меньшей задержки.

⚠️ Важно для РФ: данные российских пользователей по закону должны храниться на серверах в России. Также возможны блокировки внешних AI сервисов и Cloudflare.

Минимальная конфигурация:

  • 1 CPU (vCPU)
  • 2 ГБ RAM
  • 20 ГБ диска SSD
  • ОС: Ubuntu 24.04 LTS

Эта конфигурация хватит на 10–50k запросов в день и несколько небольших сайтов.

Шаг 2: установка Fastpanel

После включения сервера подключитесь через SSH (в панели провайдера есть консоль). Выполните две команды установки Fastpanel из официальной документации. Сервер перезагрузится после первой команды. После установки сохраните адрес панели (например, https://123.45.67.89:8888), логин и пароль.

Шаг 3: создание сайта в панели

Зайдите в Fastpanel в браузере. Нажмите «Добавить сайт». Заполните форму:

  • Домен: ваш домен (например, myapp.com)
  • PHP версия: выберите последнюю (PHP 8.2+), режим PHP FPM
  • База данных: создайте, сохраните имя БД, логин, пароль
  • FTP пользователь: создайте для загрузки файлов

Шаг 4: настройка DNS

В панели управления регистратора домена добавьте две A-записи:

  • @ (или @.yourdomain.com) → IP вашего сервера
  • www → IP вашего сервера

DNS обновляется в течение 10–15 минут, иногда до 24 часов. Проверить можно командой nslookup yourdomain.com.

Шаг 5: загрузка кода на сервер

Упакуйте проект в ZIP архив (только исходный код, без .env и временных файлов). В Fastpanel откройте файловый менеджер в директории вашего сайта (обычно /home/user/yourdomain.com/public_html). Загрузите архив, распакуйте через контекстное меню, удалите сам архив.

Шаг 6: выпуск SSL-сертификата

Убедитесь, что домен уже открывается в браузере (http://yourdomain.com). Перейдите в Fastpanel на вкладку SSL, найдите ваш домен, нажмите «Выпустить сертификат». Используется Let's Encrypt, обновляется автоматически каждые 3 месяца. Через 5 минут сайт будет доступен по HTTPS.

Шаг 7: запуск инсталлятора приложения

Откройте https://yourdomain.com в браузере. Должен запуститься установщик приложения. Введите данные подключения к базе данных (имя, логин, пароль, которые вы сохранили на шаге 3). Создайте учётную запись администратора и завершите установку. Приложение готово к использованию.

Оптимизация: статика и CDN

После запуска первой версии SaaS часто возникает проблема: медленная загрузка картинок, видео, документов для пользователей далеко от сервера. Это происходит, потому что всё раздаётся прямо с вашего VPS.

Проблема: нагрузка на основной сервер

Каждая картинка, видео, PDF — это запрос на ваш сервер. Если у вас 1000 пользователей в разных странах, каждый скачивает картинку через ваше интернет-соединение. Это:

  • Медленно — пользователь в Австралии грузит картинку через половину интернета
  • Дорого — некоторые провайдеры VPS лимитируют трафик и берут доп. плату
  • Неэффективно — основной сервер перегружается простой раздачей файлов

Решение: CDN (Content Delivery Network)

CDN — это сеть серверов по всему миру, которые кешируют статические файлы. Когда пользователь запрашивает картинку, он получает её с ближайшего CDN сервера, а не с вашего VPS. Это ускоряет загрузку и разгружает основной сервер.

Cloudflare (бесплатный тариф) — самый популярный выбор для стартапов:

  • Просто изменить NS записи на Cloudflare (в панели вашего регистратора)
  • Cloudflare автоматически обнаружит ваш сервер и начнёт кешировать статику
  • Дополнительно получаете защиту от DDoS, сжатие трафика, кешек
  • Бесплатно

Альтернативы: Bunny CDN (платная, но дешевая), Yandex.Cloud CDN (хорош для аудитории в РФ).

Как включить Cloudflare

1. Зарегистрируйтесь на cloudflare.com
2. Добавьте ваш домен в Cloudflare
3. Измените NS (nameserver) записи в панели регистратора на NS Cloudflare
4. Дождитесь активации (обычно 10 минут, максимум 24 часа)
5. В Cloudflare перейдите в Caching → Cache Rules и установите правило для статики (например, *.jpg, *.pdf, *.mp4 на 1 месяц кеша)

Результат: пользователь в Таиланде получает картинку с локального CDN сервера, вместо загрузки с вашего VPS.

Масштабирование: несколько сайтов

Одна из больших плюсов панели хостинга — добавление второго, третьего, пятого сайта на один VPS — это просто ещё одна форма «Добавить сайт». Никакой ручной конфигурации не требуется.

Когда добавить второй сайт

Это имеет смысл, если:

  • Первый сайт использует менее 50% ресурсов (CPU, RAM)
  • Трафик первого сайта предсказуем (пики не выше 80% от лимита)
  • Вы хотите сэкономить на второй VPS

Как добавить второй сайт в Fastpanel

1. Зайдите в Fastpanel
2. Нажмите «Добавить сайт»
3. Введите новый домен и настройки (повторите процесс из раздела выше)
4. Загрузите код второго приложения
5. Выпустите SSL для нового домена
6. Запустите инсталлятор второго приложения

Fastpanel автоматически разделит ресурсы между двумя сайтами благодаря PHP FPM изоляции. Каждый сайт имеет свою базу данных, свою папку, свою учётную запись FTP.

Когда мигрировать на второй сервер

Когда на одном VPS работает 5+ активных сайтов с хорошей нагрузкой, или первый сайт использует 70%+ ресурсов, имеет смысл мигрировать критичные проекты на отдельный VPS. Это гарантирует, что пик одного проекта не повлияет на другие.

Безопасность и мониторинг

После запуска SaaS в продакшене нужно позаботиться о безопасности и отслеживании проблем.

Базовая безопасность

SSL-сертификат: мы уже настроили Let's Encrypt в Fastpanel. Проверьте, что весь трафик перенаправляется на HTTPS (в Fastpanel включите редирект с HTTP на HTTPS).

Firewall: Fastpanel имеет встроенный firewall. По умолчанию открыты только 80 (HTTP), 443 (HTTPS) и 22 (SSH) порты. Это достаточно для большинства случаев.

Резервные копии: активируйте автоматические резервные копии в Fastpanel. Обычно они хранятся 7 дней. Для критичных данных настройте синхронизацию на внешний сервис (например, AWS S3).

Обновления: Fastpanel и ОС должны автоматически обновляться. Проверьте это в настройках панели.

Мониторинг

Настройте уведомления, если сервер:

  • Недоступен (Pingdom, UptimeRobot — бесплатно до 50 проверок)
  • Используется более 80% диска или RAM
  • Имеет высокую CPU нагрузку

В Fastpanel предусмотрены логи для каждого сайта. Проверяйте их регулярно на ошибки 5xx, медленные запросы.

DDoS защита

Если вы включили Cloudflare, он автоматически фильтрует DDoS атаки. Это одна из главных причин использовать Cloudflare на ранних стадиях.

Решение типовых проблем

Вот самые частые проблемы при развёртывании SaaS и их решения.

Домен не открывается после создания сайта

Причина: DNS не обновился или неправильно указан IP сервера.
Решение: 1) Убедитесь, что в регистраторе домена установлены правильные A-записи (IP вашего VPS); 2) Используйте nslookup yourdomain.com чтобы проверить; 3) Подождите до 24 часов для полного обновления DNS; 4) Очистите кеш браузера (Ctrl+Shift+Del).

SSL сертификат не выпускается

Причина: домен не открывается или Fastpanel не может подключиться к Let's Encrypt.
Решение: 1) Убедитесь, что http://yourdomain.com открывается в браузере; 2) Проверьте, что 80 и 443 порты открыты в firewall; 3) Попробуйте выпустить сертификат ещё раз через 5 минут; 4) Проверьте логи в Fastpanel.

Приложение медленное или зависает

Причина: недостаточно ресурсов на VPS или неоптимизированный код.
Решение: 1) Проверьте использование CPU и RAM в Fastpanel (System); 2) Если >80%, переходите на более мощный VPS; 3) Если <50%, проблема в коде — используйте профайлер; 4) Включите кеширование (Redis, если поддерживается хостингом).

Ошибка при загрузке файлов через FTP

Причина: неправильные credentials или проблема с подключением.
Решение: 1) Проверьте, что используете правильные логин и пароль FTP (сохранённые при создании сайта); 2) Используйте SFTP вместо FTP для безопасности; 3) Убедитесь, что порты 20/21 (FTP) или 22 (SFTP) открыты в firewall.

После деплоя вижу ошибку 500

Причина: неправильные переменные окружения, ошибка в коде или отсутствующие зависимости.
Решение: 1) Проверьте логи сайта (в Fastpanel → Logs); 2) Убедитесь, что .env файл на сервере совпадает с вашей структурой; 3) Проверьте, что все зависимости установлены (composer install для PHP); 4) Перезагрузите PHP FPM (в Fastpanel → PHP Settings).

Вопросы и ответы

Какой VPS выбрать для стартапа SaaS?

Начните с 1 CPU, 2 ГБ RAM, 20 ГБ SSD. Это хватит на 10–50k запросов/день. Для снижения лага выбирайте дата-центр ближе к аудитории. В РФ используйте локальных провайдеров по закону о хранении данных.

Нужен ли Docker для простого PHP приложения?

Нет. Для стартапа одного человека Docker — избыточно. Используйте панель хостинга (Fastpanel) — она проще, быстрее, и не требует знаний DevOps. Docker имеет смысл, когда команда растёт или архитектура усложняется.

Как часто нужно обновлять сертификат Let's Encrypt?

Не нужно. Let's Encrypt обновляется автоматически каждые 3 месяца. Fastpanel это делает самостоятельно. Вам ничего не нужно трогать.

Можно ли хостить несколько сайтов на одном VPS?

Да. Fastpanel позволяет добавить второй, третий и даже пятый сайт через простую форму. Каждый сайт получает свою изоляцию, базу данных и ресурсы. Переходите на отдельный VPS, только когда один сайт начнёт использовать 70%+ ресурсов.

Главное

Ключевая идея

Для стартапа SaaS на одного человека оптимальный путь — аренда VPS (от $3-5/месяц) и установка панели хостинга (Fastpanel, Hestia). Это займёт 30 минут и не требует знаний DevOps. Масштабирование простое: добавляйте сайты в ту же панель, а при нагрузке мигрируйте на отдельный VPS. Подключите Cloudflare CDN для оптимизации скорости — и ваша SaaS будет конкурировать с крупными игроками.

Начни зарабатывать на ИИ уже сегодня

Клуб людей, которые строят бизнес с помощью AI-агентов. Сигналы, разборы, инсайды — в закрытом Telegram.

✓ Бесплатный старт ✓ Живое сообщество ✓ AI-агенты включены