ฉันเพิ่งติดตั้งและกำหนดค่า Nginx 1.20.2 บนอินสแตนซ์ Digital Ocean Ubuntu 18.04 ของฉัน ฉันซื้อโดเมนผ่าน Namecheap ขอเรียกว่า testdomain.ioฉันต้องการเข้าถึงอินสแตนซ์ Digital Ocean ของฉันโดยไปที่ชื่อโดเมนนั้น ฉันจึงกำหนดค่าให้ใช้เซิร์ฟเวอร์ชื่อ Digital Ocean และเพิ่มระเบียน A ที่เหมาะสมเพื่อให้มันใช้งานได้ ทุกอย่างทำงานได้ดี สิ่งที่ฉันกำลังพยายามคิดอยู่ตอนนี้คือวิธีโฮสต์โดเมนย่อยต่างๆ บนเซิร์ฟเวอร์ Digital Ocean ของฉัน ดังนั้นหากฉันไปที่ app.testdomain.io ก็จะพาฉันไปที่ไซต์หนึ่ง และ test.testdomain.io จะพาฉันไปที่ไซต์อื่น ดังนั้นตอนนี้ที่ฉันใช้งาน Nginx ฉันจึงพยายามกำหนดค่าไฟล์การกำหนดค่าที่เหมาะสมของไซต์และเชื่อมโยงเข้ากับไซต์ที่เปิดใช้งาน แต่ตอนนี้เมื่อฉันไปที่โดเมนย่อยใด ๆ พวกเขาทั้งหมดจะชี้ไปที่ index.html ของโดเมนหลักของฉัน นี่คือไฟล์การกำหนดค่าของฉัน
/etc/nginx/sites-available/app.testdomain.io
เซิร์ฟเวอร์ {
ฟัง 80;
รูท /var/www/nginx/app;
ดัชนี index.html index.htm;
# หากไม่มีการกำหนด server_name ในบล็อกเซิร์ฟเวอร์
server_name app.testdomain.io;
ที่ตั้ง / {
# ส่งคืนข้อผิดพลาด 404 สำหรับอินสแตนซ์เมื่อเซิร์ฟเวอร์ได้รับ
try_files $uri $uri/ =404;
}
}
/etc/nginx/sites-available/test.testdomain.io
เซิร์ฟเวอร์ {
ฟัง 80;
รูท /var/www/nginx/test;
ดัชนี index.html index.htm;
# หากไม่มีการกำหนด server_name ในบล็อกเซิร์ฟเวอร์
server_name test.testdomain.io;
ที่ตั้ง / {
# ส่งคืนข้อผิดพลาด 404 สำหรับอินสแตนซ์เมื่อเซิร์ฟเวอร์ได้รับ
try_files $uri $uri/ =404;
}
}
ไฟล์กำหนดค่าหลักของฉัน:
เซิร์ฟเวอร์ {
ฟัง 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log หลัก;
ที่ตั้ง / {
รูท /var/www/nginx/;
ดัชนี index.html index.htm;
}
}
ไม่ว่าฉันจะไปที่ app.testdomain.io, test.testdomain.io หรือ testdomain.io เมื่อใด พวกเขาทั้งหมดจะไปที่ root index.html หลัก