กลับไปหน้าบล็อก
พฤษภาคม 23, 2026คู่มือ

วิธีย้ายเว็บไซต์ไปยัง VPS ใหม่

คู่มือการย้ายครบถ้วน: backup ไฟล์และฐานข้อมูล โอนไปยัง VPS Hiddence อัปเดต DNS และตรวจสอบเว็บไซต์

วิธีย้ายเว็บไซต์ไปยัง VPS ใหม่

การย้ายเว็บไซต์ไปยัง VPS ใหม่ — ไม่ว่าจาก shared hosting หรือเซิร์ฟเวอร์เก่า — ต้องคัดลอกไฟล์ ฐานข้อมูล และอัปเดต DNS ทำตาม checklist นี้เพื่อลด downtime บนเซิร์ฟเวอร์ Hiddence

ก่อนเริ่มต้น

  • จัดเตรียม VPS ใหม่ด้วย OS/PHP/MySQL เวอร์ชันเดียวกันหรือใหม่กว่า
  • ติดตั้ง web stack (Nginx/Apache, PHP, MySQL/MariaDB)
  • บันทึก TTL DNS ปัจจุบันและลดเป็น 300 หนึ่งวันก่อนย้าย
  • สร้าง backup เต็มรูปแบบของเซิร์ฟเวอร์เก่า
  • แจ้งผู้ใช้เกี่ยวกับหน้าต่าง maintenance สั้นๆ ที่อาจเกิดขึ้น

ขั้นตอนที่ 1: Backup ไฟล์เว็บไซต์

บนเซิร์ฟเวอร์เก่า บีบอัดไดเรกทอรีเว็บไซต์:

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 .

ขั้นตอนที่ 2: อัปโหลดไปยัง VPS ใหม่

คัดลอก archive ไปยังเซิร์ฟเวอร์ Hiddence และแตกไฟล์:

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/

ขั้นตอนที่ 3: ย้ายฐานข้อมูล MySQL

Export บนเซิร์ฟเวอร์เก่า import บนเซิร์ฟเวอร์ใหม่:

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

ขั้นตอนที่ 4: เปลี่ยน DNS

เมื่อเว็บไซต์ทำงานบน IP ใหม่ (ทดสอบผ่าน /etc/hosts หรือ URL ชั่วคราว) อัปเดต A record ของ DNS ไปยัง IP VPS ใหม่ รอ propagate และตรวจสอบ:

  • เว็บไซต์เปิดบนโดเมนโดยไม่มี error
  • ใบรับรอง HTTPS ถูกต้อง (ออก Certbot ใหม่หากจำเป็น)
  • ฟอร์มและ login ทำงาน (การเชื่อมต่อฐานข้อมูล OK)
  • Cron jobs และการส่งอีเมลทำงาน
  • เปิดเซิร์ฟเวอร์เก่าออนไลน์ 24–48 ชั่วโมงเป็น fallback

เคล็ดลับการย้าย

  • ใช้ rsync สำหรับเว็บไซต์ขนาดใหญ่: rsync -avz old:/var/www/site/ new:/var/www/site/
  • จับคู่เวอร์ชัน PHP เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้
  • ทดสอบด้วยไฟล์ hosts: echo "NEW_IP yourdomain.com" >> /etc/hosts
  • ล้าง cache Redis/Memcached หลังย้าย
  • รัน search-replace URL ใน WordPress หากโดเมนเปลี่ยน