1. ใช้ Apache HTTP Server (httpd) แบบ Virtual Hosts
ถ้าคุณใช้ Apache เป็นเว็บเซิร์ฟเวอร์ สามารถตั้งค่า Virtual Hosts เพื่อรองรับหลายโดเมนบนเครื่องเดียวได้ เช่น
ติดตั้ง Apache (ถ้ายังไม่มี)
sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
สร้างไฟล์ Virtual Host สำหรับแต่ละโดเมนใน /etc/httpd/conf.d/
เช่น /etc/httpd/conf.d/domain1.conf
:
<VirtualHost *:80>
ServerName domain1.com
ServerAlias www.domain1.com
DocumentRoot /var/www/domain1
ErrorLog /var/log/httpd/domain1-error.log
CustomLog /var/log/httpd/domain1-access.log combined
</VirtualHost>
และสำหรับ domain2 ก็สร้างไฟล์คล้ายกัน
สร้างโฟลเดอร์เว็บสำหรับแต่ละโดเมน เช่น
mkdir -p /var/www/domain1
mkdir -p /var/www/domain2
รีสตาร์ท Apache
sudo systemctl restart httpd
2. ใช้ Nginx แบบ Server Blocks (Virtual Hosts ของ Nginx)
ถ้าใช้ Nginx ก็จะใช้แนวคิดเดียวกัน
ติดตั้ง Nginx
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
สร้างไฟล์ config ของแต่ละโดเมนใน /etc/nginx/conf.d/domain1.conf
server {
listen 80;
server_name domain1.com www.domain1.com;
root /usr/share/nginx/domain1;
index index.html index.htm;
access_log /var/log/nginx/domain1-access.log;
error_log /var/log/nginx/domain1-error.log;
}
สร้างโฟลเดอร์เว็บ
mkdir -p /usr/share/nginx/domain1
รีสตาร์ท nginx
sudo systemctl restart nginx
หมายเหตุ
- ต้องชี้ DNS ของโดเมนไปที่ IP ของเครื่อง CentOS นี้ด้วย
- หากใช้ SSL (https) จะต้องตั้งค่า cert สำหรับแต่ละโดเมน เช่น ใช้ Let’s Encrypt
- สามารถรันเว็บแอป หรือ service อื่นๆ บนพอร์ตต่างๆ แล้วทำ reverse proxy ผ่าน Apache หรือ Nginx ได้