0Pricing
Linux Server Deployment & SSH Mastery · บทเรียน

การตั้งค่าโฮสต์เสมือนเบื้องต้น

ตั้งค่าโฮสต์เสมือน (หรือบล็อกเซิร์ฟเวอร์) เพื่อโฮสต์หลายเว็บไซต์บนเซิร์ฟเวอร์เดียวโดยใช้ชื่อโดเมนต่างกัน

การตั้งค่าโฮสต์เสมือนเบื้องต้น เป็นบทเรียน Linux Server Deployment & SSH Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Server Deployment & SSH Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน

โฮสต์เว็บไซต์หลายแห่ง

ลองนึกภาพว่าคุณมีเซิร์ฟเวอร์ประสิทธิภาพสูงหนึ่งเครื่อง แต่ต้องการโฮสต์เว็บไซต์หลายแห่งที่มีชื่อโดเมนแตกต่างกัน (เช่น myshop.com และ myblog.com)

เซิร์ฟเวอร์เพียงเครื่องเดียวจะรองรับเว็บไซต์เหล่านี้อย่างมีประสิทธิภาพได้อย่างไร โดยไม่ต้องใช้เครื่องแยกสำหรับแต่ละเว็บไซต์

Virtual Hosts คืออะไร

นี่คือจุดที่ Virtual Hosts (Apache) หรือ Server Blocks (Nginx) เข้ามามีบทบาท

  • สิ่งเหล่านี้คือหน่วยการกำหนดค่าที่ช่วยให้เว็บเซิร์ฟเวอร์หนึ่งเครื่องโฮสต์ชื่อโดเมนได้หลายชื่อ
  • แต่ละโดเมนสามารถมีรากเอกสาร (ตำแหน่งที่จัดเก็บไฟล์) ไฟล์บันทึก และการตั้งค่าเฉพาะของตนเอง
  • ช่วยประหยัดทรัพยากรและทำให้การจัดการเซิร์ฟเวอร์ง่ายขึ้น

การตั้งค่า Virtual Host ของ Apache

ใน Apache โดยทั่วไปการกำหนดค่าโฮสต์เสมือนจะจัดเก็บไว้ในไฟล์ .conf ภายในไดเรกทอรีเฉพาะ:

  • /etc/apache2/sites-available/: มีการกำหนดค่าโฮสต์เสมือนทั้งหมดที่พร้อมใช้งาน
  • /etc/apache2/sites-enabled/: มีลิงก์สัญลักษณ์ไปยังการกำหนดค่าที่เปิดใช้งานอยู่ในปัจจุบัน

เราใช้คำสั่งอย่าง a2ensite เพื่อเปิดใช้งานการกำหนดค่าเหล่านี้

Apache: โฮสต์เสมือนพื้นฐาน

นี่คือตัวอย่างการกำหนดค่าโฮสต์เสมือนของ Apache แบบง่าย ๆ โดยจะสร้างไฟล์นี้ไว้ใน sites-available

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName myfirstsite.com
    ServerAlias www.myfirstsite.com
    DocumentRoot /var/www/myfirstsite
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Apache: ขั้นตอนการกำหนดค่า

หากต้องการตั้งค่าโฮสต์เสมือนของ Apache สำหรับ myfirstsite.com:

  1. สร้างไดเรกทอรีสำหรับไฟล์เว็บไซต์ของคุณ
  2. สร้างไฟล์กำหนดค่าโฮสต์เสมือน
  3. เปิดใช้งานเว็บไซต์และโหลด Apache ใหม่

มาดูคำสั่งสำหรับสองขั้นตอนแรกกัน:

sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.conf

Apache: เปิดใช้งานและโหลดใหม่

หลังจากสร้างและบันทึกไฟล์ .conf แล้ว ให้ใช้คำสั่งเหล่านี้เพื่อเปิดใช้งานไฟล์และใช้การเปลี่ยนแปลง:

  • sudo a2ensite myfirstsite.conf: สร้างลิงก์สัญลักษณ์ใน sites-enabled
  • sudo apache2ctl configtest: ตรวจสอบข้อผิดพลาดทางไวยากรณ์ในการกำหนดค่า Apache
  • sudo systemctl reload apache2: ใช้การกำหนดค่าใหม่โดยไม่ต้องเริ่มเซิร์ฟเวอร์ใหม่
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

การตั้งค่าบล็อกเซิร์ฟเวอร์ของ Nginx

Nginx ใช้บล็อกเซิร์ฟเวอร์ ซึ่งมีลักษณะคล้ายกับโฮสต์เสมือนของ Apache มาก และยังใช้โครงสร้างไดเรกทอรีที่คล้ายกันด้วย:

  • /etc/nginx/sites-available/: จัดเก็บการกำหนดค่าบล็อกเซิร์ฟเวอร์ทั้งหมด
  • /etc/nginx/sites-enabled/: มีลิงก์สัญลักษณ์ไปยังบล็อกเซิร์ฟเวอร์ที่เปิดใช้งานอยู่

แทนที่จะใช้คำสั่งช่วย เราจะสร้างลิงก์สัญลักษณ์ด้วยตนเอง

Nginx: บล็อกเซิร์ฟเวอร์พื้นฐาน

นี่คือตัวอย่างการกำหนดค่าบล็อกเซิร์ฟเวอร์ Nginx พื้นฐานสำหรับ mysecondsite.com โดยจะสร้างไฟล์นี้ไว้ใน sites-available

server {
    listen 80;
    listen [::]:80;

    root /var/www/mysecondsite/html;
    index index.html index.htm;

    server_name mysecondsite.com www.mysecondsite.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

Nginx: ขั้นตอนการกำหนดค่า

หากต้องการตั้งค่าบล็อกเซิร์ฟเวอร์ Nginx สำหรับ mysecondsite.com:

  1. สร้างไดเรกทอรีสำหรับไฟล์เว็บไซต์ของคุณ
  2. สร้างไฟล์กำหนดค่าบล็อกเซิร์ฟเวอร์
  3. สร้างลิงก์สัญลักษณ์และโหลด Nginx ใหม่

ต่อไปนี้คือคำสั่งสำหรับสองขั้นตอนแรก:

sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsite

Nginx: เปิดใช้งานและโหลดใหม่

หลังจากสร้างและบันทึกไฟล์บล็อกเซิร์ฟเวอร์แล้ว ให้ใช้คำสั่งเหล่านี้เพื่อเปิดใช้งานไฟล์และใช้การเปลี่ยนแปลง:

  • sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/: สร้างลิงก์สัญลักษณ์
  • sudo nginx -t: ทดสอบการกำหนดค่า Nginx เพื่อค้นหาข้อผิดพลาดทางไวยากรณ์
  • sudo systemctl reload nginx: ใช้การกำหนดค่าใหม่โดยไม่ต้องเริ่มต้นใหม่
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

ตรวจสอบโฮสต์เสมือน

คุณได้เรียนรู้วิธีกำหนดค่าเว็บเซิร์ฟเวอร์ให้โฮสต์หลายเว็บไซต์แล้ว มาตรวจสอบความเข้าใจกัน

สรุป: หลายเว็บไซต์บนเซิร์ฟเวอร์เดียว

ทำได้ดีมาก! คุณได้เรียนรู้พื้นฐานสำคัญของการกำหนดค่าโฮสต์เสมือน (Apache) และบล็อกเซิร์ฟเวอร์ (Nginx) แล้ว

  • การกำหนดค่าเหล่านี้ช่วยให้คุณโฮสต์หลายเว็บไซต์บนเซิร์ฟเวอร์เครื่องเดียวได้อย่างมีประสิทธิภาพ
  • ตอนนี้คุณทราบวิธีตั้งค่าที่แตกต่างกันสำหรับชื่อโดเมนแต่ละชื่อแล้ว
  • นี่เป็นทักษะพื้นฐานที่จำเป็นสำหรับการดูแลระบบเว็บเซิร์ฟเวอร์และการนำหลายแอปพลิเคชันไปใช้งาน

คำถามที่พบบ่อย

บทเรียน “การตั้งค่าโฮสต์เสมือนเบื้องต้น” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตั้งค่าโฮสต์เสมือนเบื้องต้น” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Server Deployment & SSH Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่าโฮสต์เสมือนเบื้องต้น”

ตั้งค่าโฮสต์เสมือน (หรือบล็อกเซิร์ฟเวอร์) เพื่อโฮสต์หลายเว็บไซต์บนเซิร์ฟเวอร์เดียวโดยใช้ชื่อโดเมนต่างกัน คุณปฏิบัติ Linux Server Deployment & SSH Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Server Deployment & SSH Mastery หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Server Deployment & SSH Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การตั้งค่าโฮสต์เสมือนเบื้องต้น” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Linux Server Deployment & SSH Mastery นี้ได้ไหม

ได้ บทเรียน Linux Server Deployment & SSH Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การติดตั้ง Nginx/Apache
  2. การโฮสต์เว็บไซต์แบบสแตติก
  3. การตั้งค่าโฮสต์เสมือนเบื้องต้น
  4. การเปิดใช้ HTTPS ด้วย Let's Encrypt
← กลับไปที่ Linux Server Deployment & SSH Mastery