Инфраструктура, на которой можно работать

Сайт падает после перезагрузки, фоновое задание перестало выполняться, журнал занял диск или выпуск обновления зависит от ручных команд одного человека. Разбираем устройство размещения и приводим эти действия к понятному порядку.

Настраиваем окружение для сайтов, магазинов, API и внутренних сервисов. Учитываем текущие приложения, нагрузку, домены, доступы и требования к данным. Для работающего сервера планируем изменения так, чтобы можно было проверить каждый этап и вернуть нужное состояние.

Какие задачи решаем

  • Linux-серверы, Nginx, PHP-FPM, HTTPS, домены и DNS.
  • Размещение приложений в Docker и настройка их сетей, данных и запуска.
  • Фоновые процессы и очереди: systemd, cron, Laravel Horizon.
  • Автоматизация сборки и выпуска через Git и CI/CD.
  • Перенос сайта или приложения между хостингом, VPS и серверами.
  • Ротация журналов, контроль места, резервное копирование и проверка восстановления.

Что остаётся после настройки

РезультатЧто можно проверить
Схема размещенияПонятно, где работают приложения и где лежат их данные.
Запуск сервисовПроцессы запускаются после перезагрузки в нужном порядке.
Выпуск измененийЗафиксированы шаги публикации, проверки и возврата версии.
НаблюдениеЕсть журналы и сигналы о сбоях, которыми можно пользоваться.

Отдельная задача или сопровождение

Можно перенести один сайт, настроить HTTPS, исправить запуск очереди или подготовить автоматический выпуск. Если нужно регулярное обслуживание, определяем контролируемые сервисы, часы работы и порядок разбора инцидентов.

Сначала показываем, какой сбой устраняется или какое действие автоматизируется. После изменения проверяем приложение по рабочему сценарию — открытия порта и запущенного процесса для приёмки недостаточно.

Частые вопросы

Обязательно переносить всё в Docker?

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

Можно обслуживать сервер с несколькими сайтами?

Да. Сначала определяем состав приложений, их данные, пользователей и зависимости. Изменения одного проекта проверяем с учётом остальных.

Настроите автоматический выпуск из Git?

Да. Определяем сборку, целевое окружение, проверки, миграции и возврат версии. Секреты хранятся отдельно от репозитория и артефактов сборки.