วิธีตรวจสอบสถานะ IIS Service บน Windows Server 2022 ว่าทำงานปกติหรือไม่
IIS (Internet Information Services) อาจติดตั้งอยู่บน Windows Server 2022 อย่างสมบูรณ์ แต่หาก Service ที่เกี่ยวข้องหยุดทำงาน เว็บไซต์ทั้งหมดก็จะไม่สามารถให้บริการได้
ดังนั้นหนึ่งในขั้นตอนพื้นฐานที่ผู้ดูแลระบบควรทำเมื่อเว็บไซต์เปิดไม่ได้ เว็บช้า หรือผู้ใช้แจ้งว่าเข้าเว็บไม่ได้ คือการตรวจสอบสถานะ IIS Service ว่ายังคงทำงานอยู่หรือไม่
บทความนี้จะสอนวิธีตรวจสอบ IIS Service ทุกวิธีที่ใช้ได้จริง พร้อมแนวทางแก้ไขปัญหาเบื้องต้นสำหรับ Production Server
🌐 IIS Service คืออะไร
IIS ไม่ได้เป็น Service เดียว
แต่ประกอบด้วยหลาย Service สำคัญ
เช่น
World Wide Web Publishing Service
หรือ
W3SVC
ซึ่งเป็นหัวใจหลักของ Web Server
รวมถึง
Windows Process Activation Service
หรือ
WAS
ที่ใช้จัดการ Application Pool
และ
IIS Admin Service
ในบางระบบ
🔍 Service สำคัญของ IIS
| Service | หน้าที่ |
|---|---|
| W3SVC | ให้บริการเว็บไซต์ |
| WAS | จัดการ Worker Process |
| WMSVC | Remote IIS Management |
| HTTP Service | จัดการ HTTP Stack |
หาก Service หลักหยุดทำงาน เว็บไซต์จะเปิดไม่ได้ทันที
🚀 วิธีที่ 1 ตรวจสอบผ่าน Services.msc
กด
Windows + R
พิมพ์
services.msc
กด Enter
ค้นหา
World Wide Web Publishing Service
สถานะควรเป็น
Running
ตรวจสอบ
Windows Process Activation Service
สถานะควรเป็น
Running
เช่นกัน
🚀 วิธีที่ 2 ตรวจสอบผ่าน PowerShell
ตรวจสอบ W3SVC
Get-Service W3SVC
ผลลัพธ์
Running
หมายถึง IIS ทำงานปกติ
ตรวจสอบ WAS
Get-Service WAS
ตรวจสอบพร้อมกัน
Get-Service W3SVC,WAS
🚀 วิธีที่ 3 ตรวจสอบผ่าน Command Prompt
เปิด CMD
รัน
sc query W3SVC
ผลลัพธ์
STATE : RUNNING
ตรวจสอบ WAS
sc query WAS
🚀 วิธีที่ 4 ตรวจสอบผ่าน IIS Manager
เปิด
inetmgr
เลือกชื่อ Server
หาก IIS Manager เปิดได้และไม่มี Error
มักหมายความว่า Service หลักยังทำงานอยู่
🚀 วิธีที่ 5 ตรวจสอบผ่าน Browser
เปิด
http://localhost
หรือ
http://127.0.0.1
หากเว็บไซต์ตอบสนอง
แสดงว่า W3SVC กำลังทำงาน
🚀 วิธีที่ 6 ตรวจสอบผ่าน Event Viewer
เปิด
eventvwr.msc
ไปที่
Windows Logs
→
System
ค้นหา Event
W3SVC
หรือ
WAS
ช่วยตรวจสอบสาเหตุที่ Service หยุดทำงาน
🚀 วิธีที่ 7 ตรวจสอบผ่าน PowerShell Script
สำหรับ Production Server
if((Get-Service W3SVC).Status -eq "Running")
{
Write-Host "IIS Running"
}
else
{
Write-Host "IIS Stopped"
}
สามารถนำไปใช้กับระบบ Monitoring ได้
🔍 ตรวจสอบ Startup Type
PowerShell
Get-Service W3SVC | Select Name,Status
หรือ
Get-CimInstance Win32_Service `
-Filter "Name='W3SVC'"
ควรตั้งค่า
Automatic
⚡ ตั้งค่า Auto Start
Set-Service `
-Name W3SVC `
-StartupType Automatic
สำหรับ WAS
Set-Service `
-Name WAS `
-StartupType Automatic
🚀 เริ่ม Service ใหม่
หาก Service หยุดอยู่
Start-Service W3SVC
เริ่ม WAS
Start-Service WAS
🚀 Restart IIS Service
Restart-Service W3SVC
หรือ
iisreset
🚨 W3SVC Start ไม่ได้
สาเหตุที่พบบ่อย
Port 80 ถูกใช้งาน
ตรวจสอบ
netstat -ano
WAS หยุดทำงาน
ตรวจสอบ
Get-Service WAS
IIS Configuration เสียหาย
ตรวจสอบ
appcmd list site
Windows Update ผิดพลาด
ตรวจสอบ
Event Viewer
🚨 เว็บไซต์เปิดไม่ได้ แต่ Service Running
ตรวจสอบเพิ่มเติม
Website Status
Application Pool
Binding
SSL Certificate
Firewall
เนื่องจาก Service Running ไม่ได้หมายความว่าเว็บไซต์จะทำงานปกติเสมอไป
📊 Service ที่ควร Running
| Service | Status |
|---|---|
| W3SVC | Running |
| WAS | Running |
| HTTP | Running |
| WMSVC | Optional |
🔒 แนวทาง Monitoring สำหรับองค์กร
องค์กรขนาดใหญ่ควรใช้
PRTG
Zabbix
Nagios
SolarWinds
Windows Admin Center
เพื่อตรวจสอบ Service ตลอด 24 ชั่วโมง
💡 Best Practices
สำหรับ Windows Server 2022
ควร
① ตั้ง W3SVC เป็น Automatic
② ตั้ง WAS เป็น Automatic
③ ตรวจสอบ Event Viewer สม่ำเสมอ
④ เปิด Monitoring
⑤ ทดสอบเว็บไซต์หลัง Restart Service
⑥ สำรอง IIS Configuration ก่อนเปลี่ยนแปลงระบบ
ทีมงาน comsiam มักตั้ง Alert ให้แจ้งเตือนทันทีเมื่อ W3SVC หยุดทำงาน เพื่อให้สามารถแก้ไขปัญหาได้ก่อนที่ผู้ใช้งานจะได้รับผลกระทบ
สำหรับองค์กรที่มี Web Server จำนวนมาก comsiam แนะนำให้ใช้ระบบ Monitoring กลางเพื่อตรวจสอบสถานะ IIS Service แบบ Real-Time และลดความเสี่ยงจาก Downtime ที่ไม่คาดคิด
🎯 สรุป
การตรวจสอบ IIS Service บน Windows Server 2022 เป็นขั้นตอนสำคัญในการวิเคราะห์ปัญหาเว็บไซต์
คำสั่งที่ใช้บ่อยที่สุดคือ
Get-Service W3SVC
หากผลลัพธ์เป็น
Running
แสดงว่า Web Server หลักยังทำงานอยู่ แต่หากเว็บไซต์ยังมีปัญหา ควรตรวจสอบ Website, Application Pool, Binding และ SSL Certificate เพิ่มเติม