Quay lại blog
Tháng Năm 23, 2026Hướng dẫn

Cách Di Chuyển Website sang VPS Mới

Hướng dẫn di chuyển đầy đủ: sao lưu file và database, chuyển sang VPS Hiddence, cập nhật DNS và xác minh site.

Cách Di Chuyển Website sang VPS Mới

Chuyển website sang VPS mới — từ shared hosting hoặc server cũ — cần sao chép file, database và cập nhật DNS. Làm theo checklist này để giảm thời gian downtime trên server Hiddence.

Trước khi bắt đầu

  • Cấp VPS mới với phiên bản OS/PHP/MySQL giống hoặc mới hơn
  • Cài web stack (Nginx/Apache, PHP, MySQL/MariaDB)
  • Ghi nhận TTL DNS hiện tại và giảm xuống 300 một ngày trước khi di chuyển
  • Tạo backup đầy đủ server cũ
  • Thông báo người dùng về cửa sổ bảo trì ngắn có thể xảy ra

Bước 1: Sao lưu file website

Trên server cũ, nén thư mục site:

bash
cd /var/www
tar -czvf website-backup.tar.gz yoursite/

# Download to your computer:
scp user@old-server:/var/www/website-backup.tar.gz .

Bước 2: Tải lên VPS mới

Sao chép archive sang server Hiddence và giải nén:

bash
scp website-backup.tar.gz root@NEW_VPS_IP:/var/www/
ssh root@NEW_VPS_IP
cd /var/www
tar -xzvf website-backup.tar.gz
chown -R www-data:www-data yoursite/

Bước 3: Di chuyển database MySQL

Export trên server cũ, import trên server mới:

bash
# On old server:
mysqldump -u root -p database_name > db.sql

# Copy and import on new VPS:
scp db.sql root@NEW_VPS_IP:/tmp/
mysql -u root -p -e "CREATE DATABASE database_name;"
mysql -u root -p database_name < /tmp/db.sql

# Update wp-config.php or app .env with new DB credentials if needed

Bước 4: Chuyển DNS

Khi site hoạt động trên IP mới (test qua /etc/hosts hoặc URL tạm), cập nhật bản ghi A DNS sang IP VPS mới. Chờ lan truyền và xác minh:

  • Site mở trên tên miền không lỗi
  • Chứng chỉ HTTPS hợp lệ (cấp lại Certbot nếu cần)
  • Form và đăng nhập hoạt động (kết nối database OK)
  • Cron job và gửi email hoạt động
  • Giữ server cũ online 24–48 giờ làm dự phòng

Mẹo di chuyển

  • Dùng rsync cho site lớn: rsync -avz old:/var/www/site/ new:/var/www/site/
  • Khớp phiên bản PHP để tránh vấn đề tương thích
  • Test với file hosts: echo "NEW_IP yourdomain.com" >> /etc/hosts
  • Xóa cache Redis/Memcached sau khi di chuyển
  • Chạy search-replace URL trong WordPress nếu tên miền thay đổi