กลับไปหน้าบล็อก
กุมภาพันธ์ 2, 2026คู่มือ

วิธีโฮสต์เว็บไซต์หลายแห่งบนเซิร์ฟเวอร์ VPS เดียว

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

วิธีโฮสต์เว็บไซต์หลายแห่งบนเซิร์ฟเวอร์ VPS เดียว

การโฮสต์เว็บไซต์หลายแห่งบนเซิร์ฟเวอร์ 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