Проект 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).
✅ Настроено автоматическое резервное копирование.