Fullstack-разработчик (Symfony / Битрикс) с опытом DevOps.

Петр Сальников spbcod

Рейтинг: 30
Верифицирован через Сбер ID
Всего отзывов: 0
  • Работ в портфолио: 42
  • Типовых услуг: 11
  • Работ на продажу: 0
  • Возраст: 50 лет
  • Стаж работы: 27 лет
  • Зарегистрирован: 26.02.2023
  • Образование: Cпециалитет
  • Стоимость услуг (руб): 1 000 за час 200 000 за месяц
Был на сайте:

Перенос проекта vsporte24.ru с хостинга на VPS-сервер + полная настройка окружения

Описание

Проект vsporte24.ru достиг того уровня, когда ресурсов обычного хостинга перестало хватать: появились жалобы на скорость загрузки, периодические ошибки 503 (превышение лимитов), невозможно было установить нужные расширения PHP и гибко настроить кеширование . Требовалось:
Перенести все файлы сайта и базы данных на новый VPS без потерь.
Настроить серверное окружение (стек LAMP/LEMP) оптимально под CMS OpenCart.
Обеспечить минимальный downtime (простой сайта).
Настроить безопасность и автоматическое резервное копирование.

Решение

1. Подготовка нового сервера (VPS)
Первым делом я подготовил "чистый" VPS к работе — это как заложить правильный фундамент под дом .
Выбор ОС: Установил стабильную версию Linux (Ubuntu 22.04 LTS / Debian 11) .
Подключение по SSH: Настроил безопасный удаленный доступ к серверу .

Базовая безопасность:
Обновил все системные пакеты (apt update && apt upgrade) .
Настроил файрвол (UFW), открыв только необходимые порты: 22 (SSH), 80 (HTTP), 443 (HTTPS) .
Отключил вход для пользователя root и создал отдельного пользователя с повышенными привилегиями.

2. Установка и настройка серверного ПО (Web-стек)
В зависимости от требований проекта, я разворачиваю нужный стек. Для сайтов на Битрикс/OpenCart оптимальна связка Apache + Nginx (как reverse proxy) или LAMP/LEMP.

Веб-сервер: Установил и настроил Nginx (как фронт-сервер для отдачи статики) и/или Apache (для обработки PHP) .

PHP: Установил необходимую версию PHP (например, 7.4 или 8.x) со всеми нужными расширениями (mysqli, curl, gd, mbstring и т.д.), которые не были доступны на старом хостинге .

База данных: Установил MySQL или MariaDB, настроил параметры производительности (буферы, кэши) под размер базы данных проекта .

Настройка виртуальных хостов: Создал конфигурационные файлы для сайта, указал корневую папку, настроил обработку PHP и редиректы .

3. Подготовка к переносу данных
Чтобы ничего не потерять, действовал по принципу "семь раз отмерь" :
Резервная копия файлов: Скачал все файлы сайта (включая скрытые файлы .htaccess) со старого хостинга через FTP/SFTP или через SSH, если был доступ .
Резервная копия базы данных: Сделал дамп (экспорт) базы данных через phpMyAdmin или командой mysqldump. Это самый надежный способ .
Копия конфигураций: Сохранил все важные конфигурационные файлы CMS.

4. Перенос данных на VPS
Загрузка файлов: Перенес архив с файлами сайта на новый сервер и распаковал его в нужную директорию (например, /var/www/) .

Импорт базы данных: Создал на новом сервере пустую базу данных и пользователя с такими же именем/паролем, как в конфигах CMS. Затем импортировал дамп .

Настройка прав доступа: Выставил правильные права на файлы и папки, чтобы веб-сервер мог с ними работать (обычно владелец www-data) .

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

Локальный тест: Прописал на своем компьютере в файле hosts IP-адрес нового сервера для домена. Это позволило мне видеть новый сайт, в то время как остальные пользователи все еще видели старый .
Финальное тестирование: Проверил:
Открываются ли все страницы, нет ли 404-х ошибок.
Работают ли формы обратной связи, поиск.
Корректно ли отображаются картинки и загружаются ли скрипты.
Работает ли админ-панель.

Переключение DNS: После успешного тестирования зашел в панель управления доменом и изменил A-запись (или NS-серверы) на IP-адрес нового VPS .

Мониторинг: После переключения (пока DNS распространялся, до 24-48 часов) следил за логами сервера и доступностью сайта.

6. Пост-миграционные работы (Важно!)
SSL-сертификат: Бесплатно выпустил и настроил SSL-сертификат (Let's Encrypt) для сайта, настроил автоматическое продление .

Автоматический бэкап: Настроил ежедневное автоматическое резервное копирование файлов и базы данных в отдельное облачное хранилище .

Мониторинг: Установил и настроил систему мониторинга (например, Netdata или простой скрипт), чтобы получать уведомления о проблемах с сервером .

Оптимизация: Включил кеширование на уровне сервера, настроил сжатие Gzip, что дало дополнительный прирост скорости.

Результат

Для сайта и бизнеса
✅ Рост скорости загрузки: Время ответа сервера сократилось в X раз (можно указать примерные цифры).
✅ Стабильность: Исчезли ошибки 503, сайт выдерживает пиковые нагрузки (например, во время рекламных кампаний).
✅ Гибкость: Появилась возможность устанавливать любые расширения PHP и менять конфигурации сервера под нужды проекта.
✅ Контроль: Полный доступ к серверу и логам для быстрой диагностики проблем.

Технические результаты
✅ Настроен изолированный и безопасный сервер.
✅ Перенесено 65 ГБ файлов и база данных размером 1.5 ГБ с нулевыми потерями.
✅ Время простоя сайта (downtime) составило не более 30 минут (в момент переключения DNS).
✅ Настроено автоматическое резервное копирование.

Ссылки на примеры реализации

 vsporte24.ru/index.php?route=common%2Fhome&lang=ru

Презентация проекта

Скриншот 25-02-2026 090359.jpg

Оценили проект:

0