เว็บนี้มีลิงก์ affiliate — หากสมัครผ่านลิงก์ เราได้รับค่าคอมมิชชัน · Affiliate links.

คู่มือย้ายเว็บจาก cPanel Hosting มา DigitalOcean 2026

A neutral, step-by-step walkthrough for migrating a website from shared cPanel hosting to a self-managed DigitalOcean Droplet, covering server setup, file and database transfer, DNS cutover, and post-migration checks.

คู่มือย้ายเว็บจาก cPanel Hosting มา DigitalOcean 2026

การย้ายเว็บไซต์จากโฮสติ้งแบบ shared ที่มี cPanel มาเป็น DigitalOcean Droplet คือการเปลี่ยนจากแผนบริการสำเร็จรูปมาเป็นเซิร์ฟเวอร์ที่ต้องดูแลเอง ซึ่งให้ทั้งการควบคุมและต้นทุนต่อทรัพยากรที่ต่างออกไป บทความนี้พาไล่ทีละขั้นตอนตั้งแต่เตรียม Droplet ย้ายไฟล์และฐานข้อมูล ไปจนถึงการสลับ DNS แบบไม่ให้เว็บล่ม พร้อม checklist และข้อผิดพลาดที่พบบ่อยระหว่างทาง

ทำไมต้องย้ายจาก Shared Hosting มา Droplet

โฮสติ้งแบบ shared ที่มาพร้อม cPanel เป็นทางเลือกยอดนิยมสำหรับเว็บไซต์ขนาดเล็กถึงกลาง เพราะผู้ให้บริการดูแลระบบปฏิบัติการ ติดตั้งอัปเดตความปลอดภัยให้ และมีแผงควบคุมสำเร็จรูปสำหรับติดตั้งเว็บแอปพลิเคชัน จัดการโดเมน อีเมล และฐานข้อมูลได้ในไม่กี่คลิก เจ้าของเว็บจึงไม่ต้องยุ่งกับการตั้งค่าระดับเซิร์ฟเวอร์เลย ข้อจำกัดที่พบบ่อยของโมเดลนี้คือทรัพยากร CPU/RAM มักถูกแชร์ร่วมกับผู้ใช้รายอื่นบนเซิร์ฟเวอร์เดียวกัน ทำให้ประสิทธิภาพอาจไม่คงที่เมื่อทราฟฟิกของเว็บข้างเคียงพุ่งสูง และการปรับแต่งเฉพาะทาง เช่น เวอร์ชัน PHP extension เฉพาะ หรือ cron job ที่ซับซ้อน มักทำได้จำกัดตามนโยบายของผู้ให้บริการแต่ละราย การย้ายมาใช้ Droplet คือการเปลี่ยนจากโมเดล "จ่ายเหมาแผน" มาเป็นเช่า virtual machine ที่มี root access เต็มรูปแบบ ทรัพยากร CPU/RAM/พื้นที่ดิสก์เป็นของเว็บไซต์นั้นโดยเฉพาะ ไม่ได้แชร์ในรูปแบบเดียวกับ shared hosting และเลือกเองได้ว่าจะติดตั้ง stack แบบไหน เวอร์ชันอะไร ต้องการ service เสริมอะไรบ้าง Droplet ระดับเริ่มต้น (Basic, shared CPU) ของ DigitalOcean เริ่มที่ 512 MiB RAM / 1 vCPU / 10 GB SSD / 500 GiB transfer ราคา $4/เดือน ไปจนถึงระดับ 4 GiB RAM / 2 vCPU / 80 GB SSD / 4,000 GiB transfer ที่ $24/เดือน สำหรับเว็บที่มีทราฟฟิกปานกลาง โดยคิดค่าบริการแบบ per-second billing ขั้นต่ำ 60 วินาทีหรือ $0.01 แล้วแต่ค่าไหนสูงกว่า (ข้อมูลราคา ณ กรกฎาคม 2026 — ตรวจสอบราคาล่าสุดที่หน้าทางการของ DigitalOcean) แต่ข้อแลกเปลี่ยนสำคัญคือความรับผิดชอบที่เพิ่มขึ้น เมื่อย้ายมา Droplet เจ้าของเว็บหรือทีม dev ต้องดูแลเองทั้งหมด ตั้งแต่อัปเดต OS/patch ความปลอดภัย ตั้งค่า firewall ติดตั้งและดูแล web server กับ database server เอง ไปจนถึงตั้งค่าระบบ backup ซึ่งงานเหล่านี้ผู้ให้บริการ shared hosting ทำให้อยู่แล้วในค่าบริการรายเดือน การตัดสินใจย้ายจึงไม่ใช่เรื่องของ "ดีกว่า" หรือ "แย่กว่า" เสมอไป แต่ขึ้นอยู่กับว่าเว็บไซต์และทีมงานพร้อมรับภาระดูแลเซิร์ฟเวอร์เองหรือไม่ แลกกับการควบคุมที่มากขึ้นและต้นทุนต่อหน่วยทรัพยากรที่มักต่ำกว่าเมื่อเทียบสเปกต่อสเปก

Shared hosting with cPanel is a popular choice for small to medium-sized websites because the hosting provider manages the operating system, applies security updates, and provides a ready-made control panel to install web applications, manage domains, handle email, and administer databases with just a few clicks. Website owners don't have to deal with server-level configuration at all. The common limitation of this model is that CPU and RAM resources are shared with other users on the same server, which can make performance inconsistent when traffic from neighboring sites spikes. Specialized customization—such as a specific PHP version, particular extensions, or complex cron jobs—is often constrained by each provider's policies. Moving to a Droplet means switching from a "flat-fee plan" model to leasing a virtual machine with full root access. CPU, RAM, and disk space belong exclusively to that website, not shared in the same way as shared hosting, and you can choose which stack to install, which versions, and what additional services you need. DigitalOcean's basic Droplets (Basic, shared CPU) start at 512 MiB RAM / 1 vCPU / 10 GB SSD / 500 GiB transfer for $4/month, scaling up to 4 GiB RAM / 2 vCPU / 80 GB SSD / 4,000 GiB transfer at $24/month for moderately-trafficked sites, with per-second billing, minimum 60 seconds or $0.01—whichever is higher (pricing as of July 2026—verify current rates on DigitalOcean's official pricing page). The significant trade-off is increased responsibility. Once you move to a Droplet, you or your development team must handle everything: OS and security patch updates, firewall configuration, installation and management of web and database servers, and backup systems—tasks that the shared hosting provider handled as part of your monthly fee. The decision to migrate isn't always "better" or "worse," but depends on whether your website and team are ready to take on server maintenance in exchange for greater control and often lower per-unit resource costs compared to shared hosting plans.

  1. Shared hosting ผู้ให้บริการดูแล OS/patch/แผงควบคุมให้ทั้งหมด แลกกับทรัพยากรที่แชร์ร่วมกับผู้ใช้อื่น
  2. Droplet ให้ root access เต็มรูปแบบ ทรัพยากรเป็นของเว็บไซต์นั้นโดยเฉพาะ เลือก stack เองได้อิสระ
  3. Droplet Basic เริ่ม $4/เดือน (512MiB/1vCPU/10GB) ถึง $24/เดือน (4GiB/2vCPU/80GB) — ราคา ก.ค. 2026
  4. ย้ายมา Droplet แล้วต้องดูแล security patch, firewall, backup เองทั้งหมด ซึ่งเดิม provider ทำให้

เตรียม Droplet และติดตั้ง LEMP/LAMP Stack

ก่อนสร้าง Droplet ควรประเมินขนาดที่เหมาะสมจากทราฟฟิกและทรัพยากรที่เว็บไซต์เดิมใช้อยู่บน shared hosting ถ้าเป็นเว็บ WordPress หรือ CMS ทั่วไปที่มีทราฟฟิกปานกลาง แผน 2 GiB RAM / 2 vCPU / 60 GB SSD ที่ $18/เดือน หรือ 4 GiB RAM / 2 vCPU / 80 GB SSD ที่ $24/เดือน มักเพียงพอสำหรับเริ่มต้น ส่วนเว็บขนาดเล็กมากอย่างเว็บ static หรือบล็อกทราฟฟิกน้อยอาจเริ่มที่ 1 GiB RAM / 1 vCPU $6/เดือนได้ (ราคาตามแพ็กเกจ Basic shared CPU ณ กรกฎาคม 2026) สำหรับผู้ใช้ในไทย region sgp1 (สิงคโปร์) เป็นตัวเลือกที่ latency ต่ำที่สุด รองลงมาคือ blr1 (บังกาลอร์) ผู้ที่ยังไม่เคยสมัครใช้งาน DigitalOcean มาก่อนจะได้รับเครดิตทดลองใช้ฟรี $200 ใช้ได้ 60 วันหลังสมัคร เพียงพอสำหรับทดสอบการย้ายก่อนตัดสินใจใช้งานจริง รับ $200 Free Credit → เมื่อสร้าง Droplet แล้ว (แนะนำ Ubuntu 24.04 LTS) ขั้นตอนแรกคือตั้งค่า SSH key แทน password login ด้วย ssh-keygen -t ed25519 -C "[email protected]" บนเครื่อง local แล้วเลือก public key นี้ตอนสร้าง Droplet จากนั้น login เข้าเซิร์ฟเวอร์ด้วย ssh root@your_droplet_ip และอัปเดตระบบก่อนติดตั้งอะไรเพิ่มด้วย apt update && apt upgrade -y สำหรับ stack เว็บมีสองแนวทางหลักที่ใกล้เคียงกับสภาพแวดล้อม cPanel เดิม คือ LEMP (Linux, Nginx, MySQL, PHP) ติดตั้งด้วย apt install nginx mysql-server php-fpm php-mysql -y หรือ LAMP (Linux, Apache, MySQL, PHP) ที่ใกล้เคียงพฤติกรรมของ Apache บน cPanel เดิมมากกว่า ติดตั้งด้วย apt install apache2 mysql-server php libapache2-mod-php php-mysql -y เลือกตามว่าเว็บไซต์เดิมพึ่งพา .htaccess rewrite rule แบบ Apache มากแค่ไหน เพราะ Nginx ไม่อ่านไฟล์ .htaccess โดยตรงและต้องแปลง rule เป็น server block เอง หลังติดตั้ง stack แล้วควรเปิด firewall พื้นฐานด้วย ufw ทันที เช่น ufw allow OpenSSH, ufw allow 'Nginx Full' (หรือ 'Apache Full' ถ้าใช้ LAMP) แล้วเปิดใช้งานด้วย ufw enable ก่อนเริ่มย้ายไฟล์จริงจากเว็บเดิม เพื่อให้เซิร์ฟเวอร์ใหม่มีความปลอดภัยพื้นฐานตั้งแต่ก่อนมีทราฟฟิกเข้ามา

ย้ายไฟล์เว็บและฐานข้อมูล

การย้ายไฟล์เว็บไซต์เริ่มจากการสำรองไฟล์ทั้งหมดบนโฮสติ้งเดิมก่อน หากมี SSH access บน shared hosting (บาง provider เปิดให้) สามารถบีบอัดโฟลเดอร์เว็บด้วย tar -czvf public_html.tar.gz public_html/ แล้วดึงมาที่ Droplet ใหม่โดยตรงด้วย scp user@oldserver:/home/user/public_html.tar.gz . หรือถ้าต้องการ sync ไฟล์แบบ incremental (เหมาะกับไฟล์จำนวนมากที่ต้อง sync หลายรอบก่อน cutover จริง) ใช้ rsync -avz ./public_html/ user@newserver:/var/www/yourdomain/ ซึ่งจะคัดลอกเฉพาะไฟล์ที่เปลี่ยนแปลงในรอบถัดไป ช่วยประหยัดเวลาเมื่อต้อง sync ซ้ำใกล้วัน cutover จริง หากโฮสติ้งเดิมไม่เปิด SSH ให้ใช้ตัวจัดการไฟล์ของ cPanel สร้างไฟล์ zip แล้วดาวน์โหลดผ่าน FTP/SFTP แทน สำหรับฐานข้อมูล MySQL/MariaDB ใช้คำสั่ง mysqldump -u user -p dbname > backup.sql บนเซิร์ฟเวอร์เดิมเพื่อ export ฐานข้อมูลทั้งหมดออกมาเป็นไฟล์ SQL จากนั้นโอนไฟล์มาที่ Droplet ใหม่ด้วย scp backup.sql user@newserver:/tmp/ แล้วสร้างฐานข้อมูลและ import กลับด้วย mysql -u user -p newdbname < backup.sql บนเว็บที่มีหลายฐานข้อมูล ควรทำทีละฐานข้อมูลและตรวจสอบขนาดไฟล์ dump กับจำนวนตารางให้ตรงกับต้นทางก่อนลบไฟล์ backup ทิ้ง หลังย้ายไฟล์และฐานข้อมูลเสร็จ ต้องอัปเดตไฟล์ config ของเว็บแอปพลิเคชันให้ชี้ไปยังฐานข้อมูลใหม่ เช่นไฟล์ wp-config.php สำหรับ WordPress หรือไฟล์ .env สำหรับแอปที่ใช้ framework สมัยใหม่ พร้อมทั้งตั้งค่า permission ให้ web server เข้าถึงไฟล์ได้ถูกต้องด้วย chown -R www-data:www-data /var/www/yourdomain และ find /var/www/yourdomain -type d -exec chmod 755 {} \; สำหรับโฟลเดอร์ กับ find /var/www/yourdomain -type f -exec chmod 644 {} \; สำหรับไฟล์ ก่อนทดสอบเปิดเว็บผ่าน IP ของ Droplet โดยตรงหรือผ่านไฟล์ /etc/hosts เพื่อยืนยันว่าเว็บทำงานถูกต้องก่อนสลับ DNS จริง ควรทำการ sync ไฟล์และฐานข้อมูลซ้ำอีกรอบใกล้เวลา cutover จริง (เช่นไม่กี่ชั่วโมงหรือไม่กี่นาทีก่อนสลับ DNS) เพื่อดึงข้อมูลล่าสุดที่อาจเปลี่ยนแปลงระหว่างที่เตรียมการ โดยเฉพาะเว็บที่มีการอัปเดตข้อมูลตลอดเวลาอย่างเว็บ e-commerce หรือระบบสมาชิก เพื่อลดโอกาสข้อมูลตกหล่นระหว่างช่วงเปลี่ยนผ่าน

สรุปสิ่งสำคัญ: บีบอัดและโอนไฟล์ด้วย tar+scp หรือ sync แบบ incremental ด้วย rsync -avz

ย้าย DNS แบบไม่ให้เว็บล่ม (TTL/cutover)

ขั้นตอนที่มักถูกมองข้ามแต่สำคัญที่สุดต่อการทำให้ downtime น้อยที่สุดคือการเตรียม DNS ล่วงหน้าก่อนวันสลับจริง โดยลดค่า TTL (Time To Live) ของ DNS record ที่เกี่ยวข้อง โดยเฉพาะ A record ของโดเมนหลักและ www ลงเหลือค่าต่ำ เช่น 300 วินาที (5 นาที) อย่างน้อย 24-48 ชั่วโมงก่อนวันย้ายจริง เพราะ resolver ทั่วโลกจะแคช record ตามค่า TTL เดิมไว้ ถ้า TTL เดิมตั้งไว้สูง (เช่นหลายชั่วโมงหรือเป็นวัน) การเปลี่ยนแปลงจะกระจายไปถึงผู้ใช้ทุกคนช้ากว่าที่ควร ก่อนสลับ DNS จริง ควรทดสอบเว็บไซต์บน Droplet ใหม่ให้ครบทุกฟังก์ชันก่อน โดยไม่ต้องรอ DNS เปลี่ยน สามารถแก้ไฟล์ /etc/hosts บนเครื่อง local เพิ่มบรรทัด เช่น YOUR_NEW_IP yourdomain.com www.yourdomain.com เพื่อบังคับให้เบราว์เซอร์เครื่องนั้นชี้ไปยัง Droplet ใหม่โดยตรง ทดสอบการ login, ฟอร์มติดต่อ, ระบบตะกร้าสินค้า (ถ้ามี) และหน้าเพจสำคัญให้ครบก่อนที่จะให้ผู้ใช้จริงเห็น เมื่อพร้อมแล้วจึงเข้าไปแก้ A record ที่ DNS provider (ไม่ว่าจะเป็น DigitalOcean DNS หรือผู้ให้บริการเดิม) ให้ชี้ไปยัง IP ของ Droplet ใหม่ หลังจากบันทึกการเปลี่ยนแปลง ให้ตรวจสอบการกระจายตัวของ DNS ด้วยคำสั่ง dig yourdomain.com +short จากหลายเครื่อง/หลาย network หรือใช้ dig +trace yourdomain.com เพื่อดูเส้นทางการ resolve แบบละเอียด ผลลัพธ์อาจแตกต่างกันในแต่ละจุดชั่วขณะหนึ่งเพราะ resolver บาง ISP ยังแคช record เดิมค้างอยู่จนกว่า TTL เดิมจะหมดอายุจริง ช่วงที่สำคัญที่สุดคือ 24-48 ชั่วโมงหลังสลับ DNS ควรคงเซิร์ฟเวอร์เดิมไว้ทำงานต่อ (ไม่ปิดหรือยกเลิกบริการทันที) เพื่อรองรับผู้ใช้บางส่วนที่ resolver ยังส่ง request ไปยัง IP เดิมอยู่ระหว่างช่วงเปลี่ยนผ่าน หากเป็นเว็บที่มีการอัปเดตข้อมูล เช่น มีคนสั่งซื้อสินค้าหรือสมัครสมาชิกในช่วงนี้ ควรมีแผนตรวจสอบและ sync ข้อมูลที่อาจเข้ามาที่เซิร์ฟเวอร์เดิมกลับไปยังเซิร์ฟเวอร์ใหม่ด้วย เมื่อมั่นใจว่าทราฟฟิกทั้งหมดย้ายมาที่ Droplet ใหม่แล้วและผ่านไปครบตามระยะเวลาที่วางแผนไว้ จึงค่อยปรับ TTL กลับขึ้นเป็นค่าปกติ (เช่น 3600 วินาทีหรือมากกว่า) และยกเลิกบริการโฮสติ้งเดิม

Checklist หลังย้ายเสร็จ

ข้อที่มักถูกมองข้ามคือ หลังสลับ DNS และยืนยันว่าเว็บทำงานบน Droplet ใหม่แล้ว มีรายการที่ควรตรวจสอบให้ครบก่อนถือว่าการย้ายเสร็จสมบูรณ์จริง เริ่มจาก SSL certificate เพราะใบรับรองเดิมที่ผูกกับเซิร์ฟเวอร์เก่าจะใช้กับ Droplet ใหม่ไม่ได้ ต้องออกใบรับรองใหม่ด้วย Let's Encrypt ผ่าน Certbot เช่น certbot --nginx -d yourdomain.com -d www.yourdomain.com (หรือ --apache ถ้าใช้ LAMP) ซึ่งจะตั้งค่า HTTPS และ auto-renew ให้อัตโนมัติ ถัดมาคือ cron job ที่เคยตั้งไว้บน cPanel เช่น งาน backup อัตโนมัติ ส่งอีเมลสรุปรายวัน หรือ cleanup ไฟล์ชั่วคราว จะไม่ถูกย้ายมาโดยอัตโนมัติ ต้องเข้าไปตั้งใหม่ด้วยตัวเองผ่าน crontab -e บน Droplet โดยอ้างอิงจากรายการ cron ที่มีอยู่เดิมในหน้า cPanel ก่อนปิดบริการเก่า เรื่องอีเมลของโดเมนเป็นอีกจุดที่ต้องวางแผนแยกต่างหาก เพราะ MX record ไม่ได้ถูกย้ายไปพร้อมกับ A record โดยอัตโนมัติ หากเว็บโฮสติ้งเดิมให้บริการอีเมลของโดเมนด้วย (เช่น [email protected]) ต้องตัดสินใจว่าจะติดตั้ง mail server เองบน Droplet (ซึ่งมีความซับซ้อนเรื่อง reputation/deliverability พอสมควร) หรือย้ายไปใช้บริการอีเมลภายนอกแยกต่างหาก แล้วปรับ MX record ให้ชี้ไปยังบริการนั้นแทน ควรทดสอบฟังก์ชันสำคัญของเว็บไซต์ให้ครบอีกครั้งบนโดเมนจริงหลัง DNS กระจายตัวสมบูรณ์แล้ว เช่น ฟอร์มติดต่อที่ส่งอีเมล ระบบ login/สมัครสมาชิก และหน้าชำระเงิน (ถ้ามี) พร้อมตั้งค่า monitoring พื้นฐานที่ DigitalOcean ให้ฟรี ทั้งการเก็บ metrics CPU/RAM/Disk/Bandwidth ผ่าน Monitoring Agent และ Uptime Check ฟรี 1 รายการต่อบัญชี เพื่อให้รู้ทันทีหากเซิร์ฟเวอร์ใหม่มีปัญหา สุดท้ายควรเปิด Cloud Firewall ของ DigitalOcean (ไม่มีค่าใช้จ่ายเพิ่ม) เสริมจาก ufw ที่ตั้งไว้แล้วในเซิร์ฟเวอร์ เพื่อจำกัดพอร์ตที่เปิดให้เข้าถึงได้จากภายนอกในระดับ network อีกชั้นหนึ่ง

เมื่อไหร่ควรใช้ฟีเจอร์นี้ (Use Case จริง)

การย้ายจาก shared cPanel hosting มา Droplet เหมาะกับสถานการณ์ที่เว็บไซต์เริ่มชนข้อจำกัดของแผน shared hosting อย่างชัดเจน เช่น เว็บที่ทราฟฟิกเติบโตจนเจอปัญหา CPU/inode limit บ่อยครั้ง หรือได้รับแจ้งเตือนจากผู้ให้บริการว่าใช้ทรัพยากรเกินโควตาของแผนอยู่เป็นประจำ กรณีเหล่านี้การย้ายไป Droplet ที่มีทรัพยากรเฉพาะของตัวเองมักช่วยแก้ปัญหาได้ตรงจุดกว่าการอัปเกรดแผน shared ขึ้นไปเรื่อยๆ อีกกรณีที่พบบ่อยคือทีมพัฒนาต้องการ stack หรือ extension เฉพาะที่ shared hosting ไม่รองรับ เช่น เวอร์ชัน PHP ที่ใหม่กว่าที่ provider เปิดให้ ต้องการรัน background worker หรือ queue processor แบบต่อเนื่อง ต้องติดตั้ง service เสริมอย่าง Redis/Elasticsearch เอง หรือมีเว็บแอปที่เขียนด้วยภาษาอื่นนอกเหนือจาก PHP เช่น Node.js/Python ที่ shared hosting ทั่วไปรองรับได้จำกัด กรณีเหล่านี้ root access ของ Droplet ตอบโจทย์ได้ตรงกว่า ด้านต้นทุน ทีมที่มีเว็บไซต์หลายเว็บและต้องการรวมไว้บนเซิร์ฟเวอร์เดียวเพื่อบริหารจัดการรวมศูนย์ หรือทีมที่ต้องการควบคุมค่าใช้จ่ายให้คาดการณ์ได้ตามสเปกที่เลือกเองแทนการจ่ายเหมาแผน ก็มักพบว่า Droplet ให้ความยืดหยุ่นด้านงบประมาณมากกว่าเมื่อเทียบต้นทุนต่อทรัพยากรจริง ในทางกลับกัน สำหรับเว็บไซต์ขนาดเล็กมาก เช่น เว็บบริษัทที่มีทราฟฟิกน้อย ไม่มีทีม dev หรือ ops คอยดูแลระบบ และไม่มีความจำเป็นทางเทคนิคพิเศษ การอยู่กับ shared hosting ที่มี cPanel ต่อไปก็ยังเป็นทางเลือกที่สมเหตุสมผล เพราะแลกกับความสะดวกที่ผู้ให้บริการดูแล security patch และ uptime ให้โดยไม่ต้องมีคนคอยเฝ้าเซิร์ฟเวอร์เอง การย้ายมา Droplet โดยไม่มีแผนดูแลระบบต่อเนื่องอาจทำให้เว็บเสี่ยงต่อช่องโหว่ที่ไม่มีใครอัปเดตแพตช์ให้ ซึ่งเป็นความเสี่ยงที่มากกว่าประโยชน์ที่ได้

ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

ข้อผิดพลาดที่พบบ่อยที่สุดคือลืมย้ายหรือวางแผนเรื่องอีเมลของโดเมน หลายทีมโฟกัสที่การย้ายเว็บไซต์จนลืมว่า MX record ของโดเมนยังชี้ไปที่เมลเซิร์ฟเวอร์เดิม เมื่อยกเลิกบริการโฮสติ้งเก่าไปแล้วอีเมลของทั้งโดเมนก็หยุดทำงานทันที วิธีป้องกันคือตรวจสอบ MX record แยกจาก A record ตั้งแต่ต้น และตัดสินใจล่วงหน้าว่าจะย้ายอีเมลไปที่ไหนก่อนปิดบริการเดิม อีกความผิดพลาดคือสลับ DNS ไปยัง IP ใหม่โดยยังไม่ได้ทดสอบเว็บไซต์บน Droplet ใหม่ให้ครบก่อน ทำให้ผู้ใช้จริงเจอหน้าเว็บพังหรือ error หลังสลับ ทั้งที่ปัญหาสามารถตรวจพบได้ล่วงหน้าถ้าทดสอบผ่าน /etc/hosts ก่อน ควรถือเป็นขั้นตอนบังคับก่อนแก้ A record ทุกครั้ง ปัญหาเรื่องเวอร์ชัน PHP หรือ extension ที่ไม่ตรงกันระหว่างเซิร์ฟเวอร์เดิมกับ Droplet ใหม่ก็พบบ่อย โดยเฉพาะเว็บ WordPress ที่มีปลั๊กอินจำนวนมาก หรือระบบที่เขียนด้วย framework เก่าที่ยังพึ่งพา extension บางตัวที่ default install บน Ubuntu ไม่ได้ติดตั้งมาให้ วิธีป้องกันคือตรวจสอบเวอร์ชัน PHP และรายการ extension ที่ใช้งานจริงบนเซิร์ฟเวอร์เดิมก่อนย้าย แล้วติดตั้งให้ตรงกันบน Droplet ใหม่ก่อนเริ่มทดสอบ การลืมตั้ง cron job ใหม่เป็นอีกจุดที่ทำให้ระบบดูเหมือนทำงานปกติในช่วงแรกแต่ปัญหาจะเริ่มแสดงผลภายหลัง เช่น ระบบไม่ส่งอีเมลสรุปรายวัน หรือไฟล์ log/cache ไม่ถูกล้างจนเต็มพื้นที่ดิสก์ วิธีป้องกันคือทำรายการ cron job ทั้งหมดจากหน้า cPanel เดิมไว้ก่อนย้าย แล้วตั้งใหม่ทีละรายการบน Droplet พร้อมทดสอบว่าทำงานจริง สุดท้ายคือการไม่สำรองข้อมูลก่อนเริ่มกระบวนการย้าย หากระหว่างทางเกิดข้อผิดพลาด เช่น import ฐานข้อมูลผิดพลาดหรือไฟล์เสียหายระหว่างโอน การไม่มี backup ที่สมบูรณ์ของเซิร์ฟเวอร์เดิมจะทำให้กู้คืนข้อมูลได้ยากหรือไม่ได้เลย ควรสร้าง full backup ทั้งไฟล์และฐานข้อมูลของเซิร์ฟเวอร์เดิมไว้แยกต่างหากก่อนเริ่มกระบวนการย้ายทุกครั้ง ไม่ว่าจะมั่นใจในแผนการย้ายมากแค่ไหนก็ตาม

แนวทางปฏิบัติที่ดีที่สุด (Best Practices)

เพื่อให้การย้ายราบรื่นและลดความเสี่ยงตามข้อผิดพลาดที่พบบ่อยข้างต้น แนวทางแรกคือสร้าง Droplet ทดสอบ (staging) แยกจาก Droplet จริงก่อน เพื่อฝึกขั้นตอนการติดตั้ง stack ย้ายไฟล์ และ import ฐานข้อมูลให้คล่องก่อนลงมือกับเซิร์ฟเวอร์ที่จะใช้งานจริง วิธีนี้ช่วยให้พบปัญหาเรื่องเวอร์ชัน PHP หรือ extension ที่ขาดหายตั้งแต่รอบทดสอบ ไม่ใช่ตอนที่ผู้ใช้จริงเข้าเว็บแล้ว แนวทางที่สองคือถือหลัก security ตั้งแต่วันแรกที่สร้าง Droplet ได้แก่ใช้ SSH key แทน password login เสมอ ปิด root login ทางไกลแล้วสร้าง user ใหม่ที่มีสิทธิ์ sudo แทน เปิดใช้งาน ufw ควบคู่กับ Cloud Firewall ของ DigitalOcean (ฟรี ไม่มีค่าใช้จ่ายเพิ่ม) เป็นสองชั้นป้องกัน และปิดพอร์ตที่ไม่จำเป็นทั้งหมด ไม่เปิดกว้างเกินความจำเป็นเหมือนที่บาง shared hosting อาจตั้งค่า default ไว้กว้างกว่าที่ควร แนวทางที่สามคือวางระบบ backup ตั้งแต่วันแรกที่ Droplet เริ่มใช้งานจริง ไม่ใช่รอให้มีปัญหาก่อนแล้วค่อยคิดเรื่อง backup DigitalOcean มี Droplet Snapshot ราคา $0.06/GiB ต่อเดือนสำหรับสำรองทั้งระบบ และ Volumes ราคา $0.10/GiB ต่อเดือนสำหรับพื้นที่เก็บข้อมูลแยกที่ขยายได้ ควรตั้ง schedule สำรองฐานข้อมูลด้วย cron job ควบคู่กับ snapshot ระดับ Droplet เพื่อให้กู้คืนได้ทั้งแบบทั้งระบบและแบบเฉพาะฐานข้อมูล แนวทางที่สี่คือติดตามทรัพยากรของ Droplet อย่างสม่ำเสมอหลังย้ายเสร็จผ่าน Monitoring ที่ DigitalOcean ให้ฟรี เพื่อดูว่าขนาด Droplet ที่เลือกไว้ตอนแรกเพียงพอกับทราฟฟิกจริงหรือไม่ หากพบว่า RAM/CPU ใกล้เต็มบ่อยครั้ง การ resize (vertical scaling) ทำได้ไม่ยากผ่านหน้า control panel โดยไม่ต้องย้ายข้อมูลใหม่ทั้งหมดอีกครั้ง สุดท้ายควรเก็บเอกสารขั้นตอนการติดตั้งและตั้งค่าทั้งหมดไว้เป็น runbook ของทีม ตั้งแต่คำสั่งติดตั้ง stack ตำแหน่งไฟล์ config สำคัญ ไปจนถึงรายการ cron job และ firewall rule ที่ตั้งไว้ เพื่อให้ทีมสามารถ troubleshoot หรือสร้างสภาพแวดล้อมใหม่ซ้ำได้เร็วขึ้นในอนาคต โดยไม่ต้องพึ่งความจำของคนที่ทำการย้ายครั้งแรกเพียงคนเดียว

รับ $200 Free Credit →

คำถามที่พบบ่อย (FAQ)

ย้ายมา Droplet แล้วยังใช้ cPanel ต่อได้ไหม
DigitalOcean ไม่ได้แถม cPanel มาให้กับ Droplet เพราะ cPanel เป็นซอฟต์แวร์เชิงพาณิชย์ที่ต้องซื้อ license แยกต่างหากและติดตั้งเอง หากต้องการแผงควบคุมแบบกราฟิกคล้าย cPanel แต่ไม่เสียค่า license เพิ่ม สามารถพิจารณาแผงควบคุมโอเพนซอร์สอย่าง HestiaCP หรือ CyberPanel แทนได้ หรือจะบริหารจัดการผ่าน command line โดยตรงก็ได้เช่นกัน
ระหว่างย้ายเว็บจะล่มนานแค่ไหน
ถ้าวางแผนตาม TTL/cutover ที่แนะนำ คือลด TTL ล่วงหน้า ทดสอบเว็บผ่าน /etc/hosts ให้ครบก่อน แล้วค่อยสลับ A record ส่วนใหญ่ผู้ใช้จะแทบไม่รู้สึกถึง downtime เพราะเว็บใหม่พร้อมใช้งานตั้งแต่ก่อนสลับ DNS จริง ความล่าช้าที่อาจเกิดขึ้นมักมาจาก DNS propagation ที่ resolver บาง ISP ยังแคชค่าเดิมอยู่ ไม่ใช่จากตัวเซิร์ฟเวอร์เอง
ควรเลือก Droplet ขนาดไหนสำหรับย้ายเว็บจาก shared hosting
ให้ประเมินจากทรัพยากรที่เว็บเดิมใช้จริง เว็บ static หรือบล็อกเล็กเริ่มที่ 1GiB RAM/$6 ต่อเดือน ส่วนเว็บ CMS ทั่วไปอย่าง WordPress ที่ทราฟฟิกปานกลางมักเริ่มที่ 2-4GiB RAM ($18-24 ต่อเดือน) ก็เพียงพอ แนะนำให้เริ่มจากขนาดที่ไม่ใหญ่เกินจำเป็นแล้วติดตามผ่าน Monitoring ฟรี เพราะ resize ภายหลังทำได้ง่ายโดยไม่ต้องย้ายข้อมูลซ้ำ
อีเมลของโดเมนจะย้ายตามเว็บไซต์โดยอัตโนมัติหรือไม่
ไม่ อีเมลของโดเมนถูกกำหนดโดย MX record ซึ่งแยกจาก A record ที่ชี้ไปยังเว็บไซต์ การย้ายเว็บไปที่ Droplet ไม่ได้ย้ายอีเมลไปด้วยโดยอัตโนมัติ ต้องตัดสินใจแยกว่าจะติดตั้ง mail server เองบน Droplet หรือใช้บริการอีเมลภายนอก แล้วปรับ MX record ให้ชี้ไปยังปลายทางที่เลือกก่อนยกเลิกโฮสติ้งเดิม
จำเป็นต้อง backup ก่อนเริ่มย้ายไหม
จำเป็นอย่างยิ่ง ควรสำรองทั้งไฟล์เว็บไซต์และฐานข้อมูลจากเซิร์ฟเวอร์เดิมแยกเก็บไว้ต่างหากก่อนเริ่มกระบวนการย้ายทุกครั้ง เผื่อเกิดข้อผิดพลาดระหว่างการโอนไฟล์หรือ import ฐานข้อมูล จะได้มีต้นฉบับสำหรับกู้คืนหรือลองใหม่ได้ โดยไม่ต้องพึ่งข้อมูลที่อยู่บน Droplet ใหม่ซึ่งยังไม่ผ่านการทดสอบเต็มที่
ย้ายมาแล้วเว็บช้าลงกว่าเดิมควรทำอย่างไร
ให้ตรวจสอบการตั้งค่า php-fpm/Nginx หรือ Apache ว่าปรับให้เหมาะกับทรัพยากรของ Droplet แล้วหรือยัง เพราะค่า default อาจไม่เหมาะกับเว็บขนาดเล็กหรือใหญ่เกินไป ลองเปิดใช้งาน caching ระดับแอปพลิเคชัน ตรวจสอบว่ามีปลั๊กอินหรือ query ที่กินทรัพยากรผิดปกติหรือไม่ และถ้า RAM/CPU ใกล้เต็มตามที่เห็นใน Monitoring ให้พิจารณา resize Droplet ขึ้นเป็นแผนที่สูงกว่าเดิม