Internet Information Services (IIS) คือ ตอนที่ 1 : สถาปัตยกรรม (Architecture)

  1. ภาพรวมของสถาปัตยกรรม IIS
    1.1 กลุ่ม (Pools) เว็บและแอปพลิเคชัน
  2. การทำเว็บและทำแอพใน IIS
  3. การสร้างและจัดการ Application Pools
  4. การจัดการกลุ่ม (Pools) แอปพลิเคชัน

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

1. ภาพรวมของสถาปัตยกรรม IIS

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

แกนหลักของ IIS เรียกว่า Windows Process Activation Service (WAS) ซึ่งจะจัดการการกำหนดค่ากลุ่มแอปพลิเคชันและกระบวนการของผู้ปฏิบัติงาน การออกแบบนี้ช่วยให้ IIS สามารถโฮสต์แอปพลิเคชันที่ตอบสนองต่อโปรโตคอลต่างๆ ได้ ไม่ใช่แค่ HTTP หรือ HTTPS

1.1 กลุ่ม (Pools) เว็บและแอปพลิเคชัน

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

กระบวนการของผู้ปฏิบัติงานซึ่งเป็นอินสแตนซ์ของบริการ w3wp.exe เรียกใช้เว็บไซต์และรับผิดชอบในการประมวลผลคำขอที่เข้ามาทั้งหมด กระบวนการของผู้ปฏิบัติงานแต่ละกระบวนการทำงานในพื้นที่หน่วยความจำแยก ซึ่งหมายความว่าข้อผิดพลาดหรือข้อขัดข้องในกลุ่มแอปพลิเคชันหนึ่งจะไม่ส่งผลกระทบต่อแอปพลิเคชันที่ทำงานในกลุ่มแอปพลิเคชันอื่นๆ

2. การทำเว็บและทำแอพใน IIS

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

  1. เปิด IIS Manager : คุณสามารถเข้าถึงได้จากเมนู Start โดยพิมพ์ ‘Internet Information Services Manager’
  2. สร้างเว็บไซต์ใหม่ : ในบานหน้าต่างการเชื่อมต่อ คลิกขวาที่โหนด ‘ไซต์’ และเลือก ‘เพิ่มเว็บไซต์’ จะเป็นการเปิดกล่องโต้ตอบสำหรับระบุรายละเอียดของเว็บไซต์ใหม่
  3. รายละเอียดเว็บไซต์ : คุณจะต้องให้ข้อมูลต่อไปนี้:
    • ชื่อไซต์ : สามารถเป็นชื่อที่สื่อความหมายใดก็ได้ที่คุณเลือก
    • เส้นทางทางกายภาพ (Physical Path) : ระบุไดเร็กทอรีที่เก็บไฟล์ของเว็บไซต์ หากไม่มีไดเร็กทอรี IIS จะเสนอให้สร้างไดเร็กทอรีให้คุณ
    • การเชื่อมโยง : ระบุที่อยู่ IP พอร์ต และชื่อโฮสต์ (ไม่บังคับ) สำหรับเว็บไซต์ของคุณ
    • เริ่มเว็บไซต์ทันที : ทำเครื่องหมายในช่องนี้เพื่อเริ่มเว็บไซต์ทันทีที่สร้าง
  4. กลุ่มแอปพลิเคชัน : โดยค่าเริ่มต้น IIS จะสร้างกลุ่มแอปพลิเคชันใหม่ที่มีชื่อเดียวกับเว็บไซต์ใหม่ ลักษณะการทำงานเริ่มต้นนี้ส่งเสริมการแยกแอปพลิเคชัน ปรับปรุงทั้งความปลอดภัยและความน่าเชื่อถือ
  5. จบการสร้าง : คลิก ‘ตกลง’ เพื่อสร้างเว็บไซต์ เว็บไซต์ใหม่จะปรากฏในรายการเว็บไซต์ และหากคุณเลือก ‘เริ่มเว็บไซต์ทันที’ เว็บไซต์ก็จะทำงาน

3. การสร้างและจัดการ Application Pools

กลุ่มแอปพลิเคชันอนุญาตให้แยกแอปพลิเคชัน ปรับปรุงประสิทธิภาพ ความน่าเชื่อถือ และความปลอดภัย วิธีสร้างกลุ่มแอปพลิเคชันมีดังนี้

  1. เปิดตัวจัดการ IIS : เช่นเดียวกับการสร้างเว็บไซต์ ให้เริ่มต้นด้วยการเปิดตัวจัดการ IIS
  2. สร้างกลุ่มแอปพลิเคชันใหม่ : ในบานหน้าต่างการเชื่อมต่อ คลิกขวาที่โหนด ‘กลุ่มแอปพลิเคชัน’ และเลือก ‘เพิ่มกลุ่มแอปพลิเคชัน’ ซึ่งจะเปิดกล่องโต้ตอบที่คุณสามารถให้รายละเอียดเกี่ยวกับกลุ่มแอปพลิเคชันใหม่ได้
  3. รายละเอียดกลุ่มแอปพลิเคชัน : นี่คือฟิลด์ที่จำเป็น:
    • ชื่อ : เลือกชื่อที่สื่อความหมายสำหรับกลุ่มแอปพลิเคชัน
    • เวอร์ชัน .NET CLR : หากคุณใช้งานแอปพลิเคชัน .NET ให้เลือกเวอร์ชัน .NET CLR ที่เหมาะสมจากดร็อปดาวน์ หากไม่มี ให้เลือก ‘ไม่มีรหัสที่มีการจัดการ’
    • โหมดไปป์ไลน์ที่มีการจัดการ : สามารถเป็นได้ทั้ง ‘บูรณาการ’ หรือ ‘คลาสสิก’ แนะนำให้ใช้แบบรวม เนื่องจากเป็นโหมดที่ใหม่กว่าและให้ประสิทธิภาพที่ดีกว่าสำหรับแอปพลิเคชัน .NET โหมดคลาสสิกใช้สำหรับความเข้ากันได้แบบย้อนกลับ
  4. จบการสร้าง : คลิก ‘ตกลง’ เพื่อสร้างกลุ่มแอปพลิเคชัน ตอนนี้จะพร้อมใช้งานในรายการกลุ่มแอปพลิเคชัน

หลังจากสร้างกลุ่มแอปพลิเคชันในการทำเว็บและทำแอพแล้ว คุณสามารถกำหนดเว็บแอปพลิเคชันให้กับกลุ่มแอปพลิเคชันได้ ในรายการ ‘Sites’ คลิกขวาที่เว็บไซต์หรือแอปพลิเคชันที่คุณต้องการกำหนด เลือก ‘Manage Website’ -> ‘Advanced Settings’ และเลือกกลุ่มแอปพลิเคชันของคุณในดร็อปดาวน์ ‘Application Pool’

4. การจัดการกลุ่ม (Pools) แอปพลิเคชัน

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

หากต้องการปรับการตั้งค่ากลุ่มแอปพลิเคชัน ให้คลิกขวาที่กลุ่มแอปพลิเคชันที่ต้องการแล้วเลือก ‘Advanced Settings’ คุณสามารถควบคุมพารามิเตอร์ต่างๆ ได้ที่นี่ เช่น เวอร์ชัน .NET CLR, ไทม์เอาต์ที่ไม่ได้ใช้งาน, จำนวนสูงสุดของกระบวนการของผู้ปฏิบัติงาน (การเปิดใช้งาน Web Garden) และช่วงเวลาปกติสำหรับการรีไซเคิล


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


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

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