Подготовка
Перед переносом: сделайте полный бэкап (БД + файлы), зафиксируйте версии PHP/MySQL на старом сервере, установите аналогичные на новом.
💡 Перенос лучше делать ночью — минимум трафика, меньше риск потери транзакций в БД.
Шаг 1: Экспорт базы данных
# На старом сервере
mysqldump -u wpuser -p wppassword wordpress_db > /tmp/wp_export.sql
# Передаём на новый сервер
scp /tmp/wp_export.sql root@NEW_SERVER_IP:/tmp/
Шаг 2: Перенос файлов через rsync
rsync -avz --progress /var/www/wordpress/ root@NEW_SERVER_IP:/var/www/wordpress/
Шаг 3: Создание БД и импорт
# На новом сервере
mysql -u root -p -e "CREATE DATABASE wordpress_db CHARACTER SET utf8mb4;"
mysql -u root -p -e "CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strong_password';"
mysql -u root -p -e "GRANT ALL ON wordpress_db.* TO 'wpuser'@'localhost';"
mysql -u root -p wordpress_db < /tmp/wp_export.sql
Шаг 4: Настройка wp-config.php
define('DB_HOST', 'localhost');
define('DB_NAME', 'wordpress_db');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'strong_password');
Шаг 5: Настройка Nginx
server {
listen 80;
server_name example.com www.example.com;
root /var/www/wordpress;
index index.php;
location / { try_files $uri $uri/ /index.php?$args; }
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
⚠️ Не переключайте DNS до полной проверки сайта на новом IP. Используйте /etc/hosts для локального тестирования.