Internet Information Services (IIS) คือ ตอนที่ 3 : การโฮสต์ (Hosting) เว็บแอปพลิเคชัน

  1. IIS และเว็บแอปพลิเคชัน
  2. การสร้างเว็บไซต์ใน IIS
  3. การสร้างเว็บแอปพลิเคชันใน IIS
  4. การโฮสต์ (Hosting) แอปพลิเคชัน ASP.NET
  5. การโฮสต์ (Hosting) แอปพลิเคชัน PHP
  6. การปรับใช้ (Deploying) แอปพลิเคชันกับ IIS

Internet Information Services (IIS) เป็นเว็บเซิร์ฟเวอร์อเนกประสงค์และมีประสิทธิภาพจาก Microsoft ที่ทำงานบนระบบ Windows เพื่อให้บริการเพจหรือไฟล์ HTML ที่ร้องขอ หนึ่งในคุณสมบัติหลักของ IIS คือความสามารถในการโฮสต์เว็บแอปพลิเคชันการทำเว็บและทำแอพ รวมถึง .NET, PHP และแอปพลิเคชันประเภทอื่นๆ บทความนี้เจาะลึกรายละเอียดการโฮสต์เว็บแอปพลิเคชันบน IIS โดยเน้นไปที่การทำเว็บและทำแอพ

1. IIS และเว็บแอปพลิเคชัน

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

IIS รองรับเว็บแอปพลิเคชันหลายประเภท มีการรวมเข้ากับ ASP.NET ซึ่งเป็นเฟรมเวิร์กยอดนิยมสำหรับการทำเว็บและทำแอพบน Microsoft stack อย่างไรก็ตาม IIS ไม่ได้จำกัดอยู่เพียง ASP.NET เท่านั้น แต่ยังสามารถโฮสต์แอปพลิเคชันที่สร้างขึ้นใน PHP, Node.js, Python และเทคโนโลยีอื่นๆ ด้วยการกำหนดค่าและตัวจัดการที่ถูกต้อง

2. การสร้างเว็บไซต์ใน IIS

ก่อนที่เราจะเจาะลึกเกี่ยวกับโฮสติ้งแอปพลิเคชัน สิ่งสำคัญคือต้องเข้าใจกระบวนการสร้างเว็บไซต์ใน IIS แต่ละเว็บไซต์ใน IIS สามารถโฮสต์เว็บแอปพลิเคชันหลายรายการ ทำให้สามารถแยก กำหนดค่าต่างๆ และจัดการแอปต่างๆ ได้อย่างอิสระ นี่คือวิธีที่คุณการทำเว็บและทำแอพใหม่ใน IIS:

  1. เปิดตัวจัดการ IIS และไปที่โหนด “Sites” ในบานหน้าต่าง “Connections”
  2. คลิกขวาที่โหนด “Sites” และเลือก “Add Website…”
  3. ในกล่องโต้ตอบ “Add Website” คุณต้องกรอกรายละเอียดหลายประการ:
    • Site name : ชื่อเฉพาะสำหรับเว็บไซต์ของคุณ
    • Physical path : ไดเร็กทอรีบนเซิร์ฟเวอร์ของคุณที่จะเก็บไฟล์เว็บไซต์
    • IP address : ที่อยู่ IP ที่จะเชื่อมโยงเว็บไซต์ คุณสามารถปล่อยให้เป็น “ไม่ได้กำหนดทั้งหมด” หากคุณต้องการให้เว็บไซต์ตอบสนองต่อคำขอที่อยู่ IP ทั้งหมด
    • Port : พอร์ต TCP ที่ IIS ควรฟัง ตามค่าเริ่มต้น HTTP ใช้พอร์ต 80 และ HTTPS ใช้พอร์ต 443
    • Host name : หากคุณต้องการใช้ชื่อโดเมนเพื่อเข้าถึงเว็บไซต์ของคุณ ให้ระบุชื่อโดเมนที่นี่ ถ้าไม่ คุณสามารถเว้นว่างไว้
  4. คลิก “OK” เพื่อสร้างเว็บไซต์ของคุณ เว็บไซต์ใหม่ของคุณควรปรากฏภายใต้โหนด “Sites”

3. การสร้างเว็บแอปพลิเคชันใน IIS

เมื่อตั้งค่าเว็บไซต์แล้ว ตอนนี้คุณสามารถเพิ่มเว็บแอปพลิเคชันได้ เพื่อทำสิ่งนี้:

  1. ในบานหน้าต่าง “Connections” ในตัวจัดการ IIS ให้ไปที่เว็บไซต์ที่คุณต้องการเพิ่มแอปพลิเคชัน
  2. คลิกขวาที่เว็บไซต์แล้วเลือก “Add Application” จากเมนูบริบท
  3. กล่องโต้ตอบ “Add Application” จะปรากฏขึ้น พร้อมแจ้งรายละเอียดต่อไปนี้:
    • Alias : ชื่อที่เป็นส่วนหนึ่งของ URL สำหรับแอปพลิเคชัน
    • Application pool : กลุ่มแอปพลิเคชันที่แอปพลิเคชันทำงาน คุณสามารถสร้างใหม่หรือเลือกที่มีอยู่
    • Physical path : ไดเร็กทอรีบนเซิร์ฟเวอร์ของคุณที่มีไฟล์แอปพลิเคชัน
  4. คลิก “OK” ใบสมัครของคุณใช้งานได้แล้วและสามารถเข้าถึงได้ที่ ” http://your-website-url/your-application-alias

4. การโฮสต์ (Hosting) แอปพลิเคชัน ASP.NET

ในการโฮสต์แอปพลิเคชัน ASP.NET บน IIS คุณต้องแน่ใจว่าเวอร์ชันของ .NET Framework ตรงกับเวอร์ชันที่แอปพลิเคชันของคุณกำหนดเป้าหมาย เมื่อคุณตรวจสอบแล้ว คุณสามารถทำเว็บและทำแอพของคุณบน IIS โดยชี้เส้นทางจริงไปยังไดเร็กทอรีรากของโปรเจ็กต์ ASP.NET ของคุณ

นอกจากนี้ คุณต้องตั้งค่ากลุ่มแอปพลิเคชันที่ถูกต้อง กลุ่มแอปพลิเคชันแยกแอปพลิเคชัน เปิดใช้งานการกำหนดค่าที่แตกต่างกัน และป้องกันปัญหาในแอปพลิเคชันหนึ่งไม่ให้ส่งผลกระทบต่อผู้อื่น สำหรับแอปพลิเคชัน ASP.NET ตรวจสอบให้แน่ใจว่ากลุ่มแอปพลิเคชันเวอร์ชัน .NET CLR ตรงกับเวอร์ชัน .NET Framework ที่แอปพลิเคชันของคุณต้องการ

5. การโฮสต์ (Hosting) แอปพลิเคชัน PHP

การโฮสต์แอปพลิเคชัน PHP บน IIS ต้องการการตั้งค่าเพิ่มเติมอีกเล็กน้อย ก่อนอื่น คุณต้องติดตั้งรันไทม์ PHP บนเซิร์ฟเวอร์ของคุณ Microsoft มีเครื่องมือที่เรียกว่า Web Platform Installer (Web PI) ที่สามารถทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติ

เมื่อติดตั้ง PHP แล้ว คุณสร้างเว็บแอปพลิเคชันใน IIS ในลักษณะเดียวกับก่อนหน้านี้ อย่างไรก็ตาม แอปพลิเคชัน PHP มักจะใช้ไฟล์ php.iniเพื่อกำหนดค่าพฤติกรรมรันไทม์ เมื่อตั้งค่าแอปพลิเคชันของคุณใน IIS ตรวจสอบให้แน่ใจว่าได้กำหนดค่า PHP อย่างถูกต้องสำหรับแอปพลิเคชันของคุณ

สำหรับแอปพลิเคชัน PHP ที่ซับซ้อนมากขึ้น เช่น แอปพลิเคชันที่ใช้เฟรมเวิร์กอย่าง Laravel หรือ Symfony คุณอาจต้องตั้งค่ากฎการเขียน URL ใหม่เพื่อให้แน่ใจว่า IIS กำหนดเส้นทาง URL อย่างถูกต้อง ซึ่งเกี่ยวข้องกับการติดตั้ง URL Rewrite Module ใน IIS และตั้งค่ากฎการเขียนซ้ำที่เหมาะสมสำหรับแอปพลิเคชันของคุณ

6. การปรับใช้ (Deploying) แอปพลิเคชันกับ IIS

เมื่อตั้งค่าเว็บไซต์และแอปพลิเคชันของคุณแล้ว การปรับใช้การอัปเดตแอปพลิเคชันของคุณมักจะเกี่ยวข้องกับการคัดลอกเวอร์ชันใหม่ของไฟล์แอปพลิเคชันของคุณไปยังไดเร็กทอรีที่คุณระบุเป็น “Physical path” เมื่อทำเว็บและทำแอพ

สำหรับแอปพลิเคชัน ASP.NET คุณสามารถใช้เครื่องมือเผยแพร่ใน Visual Studio เพื่อทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติ สำหรับแอปพลิเคชันประเภทอื่นๆ คุณอาจต้องใช้ไคลเอ็นต์ FTP หรือเครื่องมือการปรับใช้อื่นๆ ความเฉพาะเจาะจงของกระบวนการนี้อาจแตกต่างกันไปขึ้นอยู่กับการพัฒนาและสภาพแวดล้อมเซิร์ฟเวอร์ของคุณ


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

ด้วยคุณสมบัติที่แข็งแกร่งและการรองรับเว็บแอปพลิเคชันหลายประเภท IIS จึงเป็นเครื่องมือที่ทรงพลังสำหรับนักพัฒนาหรือผู้ดูแลระบบที่ทำงานในสภาพแวดล้อม Windows เมื่อเข้าใจวิธีการโฮสต์เว็บแอปพลิเคชันใน IIS คุณจะสามารถใช้ประโยชน์จากความสามารถของมันอย่างเต็มที่เพื่อส่งแอปพลิเคชันของคุณไปยังผู้ใช้


Internet Information Services (IIS) คืออะไร

Internet Information Services (IIS) คือ ตอนที่ 2 : การติดตั้ง (Installing) และกำหนดค่า (Configuring)
Internet Information Services (IIS) คือ ตอนที่ 4 : ความปลอดภัย (Security)