กุมภาพันธ์ 2, 2026คู่มือ
วิธีโฮสต์เว็บไซต์หลายแห่งบนเซิร์ฟเวอร์ VPS เดียว
เรียนรู้วิธีโฮสต์เว็บไซต์หลายแห่งบนเซิร์ฟเวอร์ VPS เดียวโดยใช้ virtual hosts คู่มือฉบับสมบูรณ์สำหรับการจัดการโดเมนหลายโดเมน ใบรับรอง SSL และการจัดสรรทรัพยากร

การโฮสต์เว็บไซต์หลายแห่งบนเซิร์ฟเวอร์ VPS เดียวเป็นวิธีที่มีประสิทธิภาพและคุ้มค่าในการจัดการโครงการหลายโครงการ โดยใช้ virtual hosts คุณสามารถให้บริการโดเมนต่างๆ จากเซิร์ฟเวอร์เดียวกัน แต่ละโดเมนมีการกำหนดค่า ใบรับรอง SSL และ document root ของตัวเอง คู่มือนี้แสดงวิธีตั้งค่าและจัดการเว็บไซต์หลายแห่งบน VPS ของคุณ
ประโยชน์ของการโฮสต์หลายไซต์
- ประหยัดค่าใช้จ่าย: เซิร์ฟเวอร์หนึ่งเครื่องแทนบัญชีโฮสติ้งหลายบัญชี
- การจัดการแบบรวมศูนย์: ไซต์ทั้งหมดอยู่ในที่เดียว
- การแบ่งปันทรัพยากร: การใช้ทรัพยากรเซิร์ฟเวอร์อย่างมีประสิทธิภาพ
- การขยายตัวง่าย: เพิ่มไซต์ได้โดยไม่ต้องใช้โครงสร้างพื้นฐานเพิ่มเติม
- การสำรองข้อมูลแบบรวม: สำรองข้อมูลไซต์ทั้งหมดพร้อมกัน
- การควบคุมที่ดีขึ้น: การเข้าถึงเซิร์ฟเวอร์เต็มรูปแบบสำหรับโครงการทั้งหมด
การตั้งค่า Virtual Hosts ด้วย Nginx
สร้าง server blocks แยกสำหรับแต่ละเว็บไซต์:
bash
nano /etc/nginx/sites-available/example1.com
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginxใบรับรอง SSL สำหรับหลายโดเมน
ตั้งค่าใบรับรอง SSL สำหรับแต่ละโดเมนโดยใช้ Certbot:
bash
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example1.com -d www.example1.com
certbot --nginx -d example2.com -d www.example2.com
# ใบรับรองต่ออายุอัตโนมัติผ่าน cron:
certbot renew --dry-runการจัดการทรัพยากร
ตรวจสอบและจำกัดทรัพยากรต่อไซต์:
- ใช้ PHP-FPM pools พร้อมขีดจำกัดทรัพยากรที่แตกต่างกัน
- ตั้งค่าฐานข้อมูล MySQL แยกสำหรับแต่ละไซต์
- ตรวจสอบการใช้ดิสก์: df -h
- ติดตามการใช้หน่วยความจำ: htop หรือ free -m
- กำหนดค่าการหมุนเวียนบันทึกเพื่อป้องกันดิสก์เต็ม
- ใช้เครื่องมือตรวจสอบเพื่อติดตามประสิทธิภาพต่อไซต์
การแยกไซต์
ให้แน่ใจว่าไซต์ไม่รบกวนกัน:
- Document roots แยก: /var/www/site1, /var/www/site2
- PHP-FPM pools ที่แตกต่างกันพร้อมขีดจำกัดทรัพยากร
- ผู้ใช้ฐานข้อมูลและฐานข้อมูลแยก
- ใบรับรอง SSL แต่ละโดเมน
- ไฟล์บันทึกแยกสำหรับแต่ละไซต์
- ใช้ chroot หรือ containers สำหรับการแยกสูงสุด (ขั้นสูง)
การตรวจสอบหลายไซต์
- ตั้งค่าการตรวจสอบ uptime สำหรับแต่ละโดเมน
- ตรวจสอบการใช้พื้นที่ดิสก์เป็นประจำ
- ติดตามการใช้แบนด์วิดท์ต่อไซต์
- ตั้งค่าแจ้งเตือนสำหรับการใช้ทรัพยากรสูง
- การสำรองข้อมูลปกติของไซต์ทั้งหมด
- ตรวจสอบวันหมดอายุของใบรับรอง SSL