WordPress ใช้ได้บน Shared Hosting ได้ แต่ถ้าต้องการความเร็ว, ปลอดภัย, และการควบคุมที่เต็มที่ VPS ไทยเป็นตัวเลือกที่สมดุลและสะดวกสุด ไม่ต้องการบริหารจัดการ server เหมือน Dedicated แต่ได้ประสิทธิภาพเท่ากัน บทความนี้จะแนะนำการเลือก Spec ที่เหมาะสม, ตั้งค่า DirectAdmin สำหรับ WordPress, MySQL tuning, และ optimize ประสิทธิภาพให้เว็บไม่ช้าถึงแม้ traffic เพิ่มขึ้น
ทำไม VPS ไทยดีกว่า Shared Hosting สำหรับ WordPress
Shared Hosting นั้นข้อดีคือราคาถูก แต่ข้อจำกัดมากมาย PHP version ถูกเซต, Memory limit ต่ำ, MySQL connection จำกัด, ไม่มี SSH access ทำให้เมื่อ WordPress บวม (ด้วย plugin/theme หนัก) ระบบจะช้าลง หรือบางครั้ง Resource limit ตัด connection ไป
VPS ไทยให้คุณ root access เต็มที่ สามารถ:
- เลือก PHP version ที่สุด (7.4, 8.0, 8.1, 8.2) เพื่อความเร็ว
- ตั้งค่า OPcache, Redis cache เพื่อเร่งความเร็ว
- Tune MySQL buffer pool, max connections พอกับ WordPress
- Setup Nginx reverse proxy ในหน้าที่ Apache ต่อ
- ติดตั้ง Free SSL (Let's Encrypt) โดยไม่มีข้อจำกัด
- Full control การ Backup และ Restore ข้อมูล
Spec ขั้นต่ำสำหรับ WordPress ทั่ว ๆ ไป
WordPress ต่ำสุดต้องการ: 1GB RAM, 20GB SSD, 1 CPU core ผสมกับเวลา load page ต่ำกว่า 3 วินาที อยู่ในเกณฑ์ "ได้"
| ส่วนประกอบ | ขั้นต่ำ | ที่แนะนำ (บ้าน/SME) | WooCommerce/BuddyPress |
|---|---|---|---|
| RAM | 1 GB | 2 GB | 4 GB+ |
| CPU | 1 core | 2 cores | 4 cores |
| Storage (SSD) | 20 GB | 40 GB | 100 GB |
| Bandwidth | Unlimited* | Unlimited* | Unlimited* |
| Uptime | 99% | 99% | 99% |
ทำไมต้อง 1GB ขั้นต่ำ WordPress core + database (MySQL) + Web server (Apache/Nginx) + PHP-FPM process = ประมาณ 400MB ตัวเอง ถ้าลูกค้า 100 คนต่อชั่วโมง ระบบต้อง cache + buffer ให้อีก 600MB จึงพอ ต่ำกว่านี้ swap disk (ช้ามาก) จะใช้บ่อย
Spec ที่แนะนำสำหรับ WooCommerce
ร้านค้า (WooCommerce) สิ้นค้ามากกว่า WordPress blog ต้องการ database query มากขึ้น (สินค้า, category, review, order) รวมถึง session handling หลาย ๆ ลูกค้า login พร้อมกัน
ชุด recommended สำหรับ WooCommerce:
- RAM 2-4 GB (2GB นอน 100-300 อร์เดอร์/เดือน, 4GB พอ 1000+ อร์เดอร์)
- CPU 2-4 cores (จัดการ cron job สำหรับ email, backup พร้อมกัน)
- SSD 40-100 GB (เก็บ สินค้า, ภาพ, order logs, backup)
- MySQL buffer pool ≥ 256MB (ดูรายละเอียด MySQL Tuning ด้านล่าง)
ติดตั้ง WordPress ผ่าน DirectAdmin Softaculous
VPS ไทย AsiaGB มี DirectAdmin control panel ที่ติดตั้ง Softaculous (Auto-installer) ให้เรียบร้อยแล้ว ไม่ต้องติดตั้ง WordPress ด้วย SSH command, ทำผ่าน GUI ได้ง่ายขึ้น
ขั้นตอน:
- เข้า DirectAdmin Panel (`https://[server-ip]:2222`)
- คลิก Softaculous Apps Installer บน sidebar
- ค้นหา WordPress → เลือก Install
- กรอก: Protocol (https), Domain, Directory (/), Admin User/Pass, Email
- กดติดตั้ง (ประมาณ 2-3 นาที ดาวน์โหลด + extract ไฟล์)
- เมื่อเสร็จ ได้ URL login `https://yourdomain.com/wp-admin/`
ตั้งค่า PHP Version และ OPcache สำหรับ WordPress
WordPress ต้องการ PHP ≥ 7.4 แต่ PHP 8.0+ ทำให้ WordPress เร็วขึ้น 20-30% เพราะ JIT (Just-In-Time) compiler ใน PHP 8.1+
เปลี่ยน PHP version ใน DirectAdmin:
- เข้า DirectAdmin, เลือก Domain
- คลิก PHP Version Selector
- เลือก PHP 8.2 (ล่าสุด, รองรับ WordPress plugin มากมาย)
- บันทึก (WordPress reload อัตโนมัติ)
ตั้ง OPcache ใน php.ini
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
opcache.revalidate_freq=60
MySQL Tuning สำหรับ WordPress
MySQL ถูกเซต default ต่อ ๆ ไป (ปลอดภัยแต่ช้า) ต้อง tune พอกับ WordPress
MySQL settings เสนอ my.cnf (1-2GB RAM VPS)
[mysqld]
max_connections = 200
max_allowed_packet = 256M
innodb_buffer_pool_size = 512M
innodb_log_file_size = 100M
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
ความหมาย:
- max_connections = 200: WordPress + plugins บาง ที่ polling database นาน ต้องคิวรอ 50-100 connection
- innodb_buffer_pool_size = 512M: จัดเก็บ table data ใน RAM ไม่ต้องอ่าน disk (ช้ามาก)
- slow_query_log: ตรวจหา query ที่ช้า (>2 วิ) บน WordPress plugin ไม่ optimize
mysql -u root -p แล้ว SET GLOBAL innodb_buffer_pool_size = 512*1024*1024; เพื่อลดไฟล์ config ที่ต้อง restart MySQL
ใช้ Nginx Reverse Proxy ข้างหน้า Apache
VPS ไทย ส่วนใหญ่มี Apache แล้ว (mod_php ช้า) Nginx reverse proxy ใน port 80/443 ส่ง request ไป Apache internal port 8080 ทำให้เร่งความเร็ว PHP-FPM caching และ compression
Nginx สำหรับ WordPress: เอา static file (.jpg, .css, .js) ให้ Nginx serve แล้ว .php ส่งไป PHP-FPM ข้ามกลาง Apache
ตั้งค่า Nginx conf simple
upstream php_backend {
server 127.0.0.1:8080 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 80; server_name yourdomain.com;
root /home/user/domains/yourdomain.com/public_html;
location ~ \.php$ {
proxy_pass http://php_backend;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff)$ {
expires 7d; add_header Cache-Control "public, immutable";
}
}
Let's Encrypt SSL ผ่าน DirectAdmin
HTTPS ไม่ใช่ตกแต่ง แต่เป็นสิ่งจำเป็นสำหรับ WordPress (SEO, ความปลอดภัย user) Let's Encrypt ฟรี, auto renew ทำให้ไม่ต้องจำ expiry date
สั่ง Auto-renewing SSL ใน DirectAdmin:
- Domain → SSL Certificates
- กดปุ่ม "Save key and save certificate"
- เลือก Let's Encrypt, ตกลง
- DirectAdmin ติดตั้ง certificate + auto renew cron job ให้อัตโนมัติทุก 60 วัน
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
$_SERVER['HTTPS'] = 'on';
Backup อัตโนมัติผ่าน DirectAdmin
Backup critical สำหรับ WordPress ไม่ว่า จะ hack, malware, หรือ mistake delete WordPress ต้องกู้คืนได้เร็ว
DirectAdmin Backup feature:
- บน Admin Level → Backup
- สร้าง Backup Schedule: ทุกวัน, ส่งไปที่ S3 หรือ FTP remote
- DirectAdmin tar ทั้ง domain (web files + database) เป็น .tar.gz
- ส่ง offsite พร้อม encryption ไม่จำเป็นต้อง manage เอง
- Daily backup เก็บ 7 วัน local
- Weekly backup ส่ง S3 AWS Asia (singapore-1) ทำให้ Offsite + ประหยัด
สรุปสำคัญ
VPS ไทย 1-2GB RAM เพียงพอ WordPress ทั่ว ๆ ไป ยิ่ง WordPress ไว, ปลอดภัย, ประหยัด Shared Hosting ทุกทาง ขั้นตอน Spec → DirectAdmin → PHP → MySQL → Nginx Reverse Proxy → SSL → Backup ทำให้ website ไม่เคยหยุด หรือโดยมี malware ปนเข้า ลูกค้าวิ่งมา, marketing ทำได้ตรง, conversion rate ดี
เริ่มต้นกับ VPS ไทยสำหรับ WordPress วันนี้
ใช้ Uptime 99%, SSD storage, DirectAdmin control panel, และ Free Let's Encrypt SSL จากทีมงาน AsiaGB ที่ช่วยเหลือ 24 ชั่วโมง
ดู VPS ไทย AsiaGB