Subdomain เป็นอีกหนึ่งวิธีในการแยกเว็บไซต์ออกเป็นส่วนๆ ในบทความนี้เราจะมาสอนวิธีการเพิ่ม Sub Domain สำหรับ Server ที่ใช้งาน NginX บน Ubuntu โดยเหมาะสำหรับผู้ที่ต้องการเปลี่ยนการรันโปรเจคด้วย Port มาเป็น Sub Domain แทน

สิ่งที่ต้องเตรียมก่อนการตั้งค่า

  • เพิ่ม Sub Domain ใน DNS ให้เรียบร้อย และชี้ค่า IP มาที่เครื่องที่ต้องการโดยไม่ต้องใส่ Port

ขั้นตอนการตั้งค่า Sub Domain สำหรับ Nginx

  1. อันดับแรกให้เราทำการสร้างไฟล์ subdomain.ชื่อเว็บไซต์.com ด้วยคำสั่ง (อย่าลืมเปลี่ยน example.com และ subdomain ที่ต้องการ)
    • nano /etc/nginx/sites-available/subdomain.example.com
  2. ต่อไปเมื่อเราได้หน้าเปล่าๆขึ้นมาให้นำ Config ด้านล่างนั้นไปใส่ (แก้ไข Port , Sub Domain , ชื่อเว็บ ตามต้องการ)
    • server {
        listen 80;
        server_name subdomain.example.com;
      
        location / {
          proxy_pass http://127.0.0.1:1338;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection 'upgrade';
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
      
  3. Ctrl+X เพื่อ Save ไฟล์
  4. จากนั้นทำการสร้าง Symbolic Link เพื่อเปิดใช้งาน Config ที่เราเซทค่าไว้
    • sudo ln -s /etc/nginx/sites-available/subdomain.example.com /etc/nginx/sites-enabled/
  5. ทดสอบการทำงานของ Config ว่ามีปัญหาหรือไม่ด้วยคำสั่งด้านล่าง
    • sudo nginx -t
  6. ทำการ Restart Nginx เพื่อเปิดใช้งาน Config
    • sudo systemctl restart nginx
      

เพียงเท่านี้เราก็จะสามารถเข้าใช้งาน Project ต่างๆผ่านทาง Sub Domain ที่เราตั้งค่าไว้ได้เรียบร้อย