วิธีแก้ IIS Service บน Windows Server 2022 Start ไม่ได้แบบครบทุกสาเหตุ
ปัญหา IIS Service Start ไม่ได้ เป็นหนึ่งในปัญหาที่ผู้ดูแลระบบ Windows Server 2022 พบได้บ่อยที่สุด โดยเฉพาะหลังการอัปเดตระบบ การเปลี่ยนค่า Configuration การติดตั้งโปรแกรมใหม่ หรือการย้ายเว็บไซต์
เมื่อ IIS ไม่สามารถ Start ได้ เว็บไซต์ทั้งหมดบน Server จะหยุดให้บริการทันที ส่งผลให้ผู้ใช้งานไม่สามารถเข้าถึงระบบได้ ดังนั้นการวิเคราะห์สาเหตุและแก้ไขอย่างถูกต้องจึงเป็นสิ่งสำคัญ
บทความนี้รวบรวมทุกสาเหตุที่พบบ่อย พร้อมแนวทางแก้ไขแบบมืออาชีพ
🌐 อาการของปัญหา
ตัวอย่างอาการที่พบ
เว็บไซต์เปิดไม่ได้
IIS Manager แสดง Error
W3SVC Start ไม่ขึ้น
IISRESET ล้มเหลว
Event Viewer มี Error เกี่ยวกับ IIS
ตัวอย่างข้อความ
The World Wide Web Publishing Service service terminated unexpectedly
หรือ
Service could not be started
🔍 ขั้นตอนแรก ตรวจสอบสถานะ Service
เปิด PowerShell
Get-Service W3SVC
ตัวอย่างผลลัพธ์
Stopped
หรือ
StartPending
ตรวจสอบ WAS
Get-Service WAS
🚀 สาเหตุที่ 1 : Windows Process Activation Service (WAS) ไม่ทำงาน
W3SVC ต้องพึ่งพา WAS
ตรวจสอบ
Get-Service WAS
หากหยุดอยู่
Start-Service WAS
จากนั้น
Start-Service W3SVC
🚀 สาเหตุที่ 2 : Port 80 ถูกใช้งาน
เป็นปัญหาที่พบได้บ่อยมาก
ตรวจสอบ
netstat -ano
หรือ
netstat -ano | findstr :80
ตัวอย่าง
TCP 0.0.0.0:80 LISTENING 4560
ตรวจสอบ Process
tasklist /fi "PID eq 4560"
โปรแกรมที่มักชน Port
Apache
Nginx
XAMPP
Docker
Skype รุ่นเก่า
Web Service อื่น
🚀 สาเหตุที่ 3 : IIS Configuration เสียหาย
ตรวจสอบ
appcmd list site
หากขึ้น Error
อาจเกิดจาก
applicationHost.config
เสียหาย
ไฟล์อยู่ที่
C:\Windows\System32\inetsrv\config
Restore Backup
appcmd restore backup BackupName
🚀 สาเหตุที่ 4 : Application Pool ผิดพลาด
ตรวจสอบ
Get-WebAppPoolState
หรือใน IIS Manager
Application Pools
หาก Pool ล้มบ่อย
ตรวจสอบ
Identity
Password
Runtime
Web.config
🚀 สาเหตุที่ 5 : SSL Binding ผิดพลาด
ตรวจสอบ Binding
netsh http show sslcert
ตรวจสอบใน IIS
Site Bindings
Certificate ที่หมดอายุหรือถูกลบ อาจทำให้บาง Service เริ่มทำงานไม่ได้
🚀 สาเหตุที่ 6 : HTTP Service มีปัญหา
ตรวจสอบ
Get-Service HTTP
ควรเป็น
Running
หากไม่ทำงาน
Start-Service HTTP
🚀 สาเหตุที่ 7 : สิทธิ์ไฟล์ IIS ผิดพลาด
ตรวจสอบโฟลเดอร์
C:\inetpub
และ
C:\Windows\System32\inetsrv
ควรมีสิทธิ์
IIS_IUSRS
และ
SYSTEM
🚀 สาเหตุที่ 8 : IIS Role ถูกลบหรือเสียหาย
ตรวจสอบ
Get-WindowsFeature Web-Server
หากไม่ได้ติดตั้ง
Install-WindowsFeature Web-Server -IncludeManagementTools
🚀 สาเหตุที่ 9 : หลัง Windows Update
บางครั้ง Update อาจทำให้ Service ไม่เริ่มทำงาน
ตรวจสอบ
Get-HotFix
ดู Event Viewer
Windows Logs
→
System
🚀 สาเหตุที่ 10 : ApplicationHost.config Syntax Error
ตรวจสอบ
appcmd list config
หากไฟล์ XML ผิดรูปแบบ
IIS จะไม่สามารถ Start ได้
🚀 สาเหตุที่ 11 : IIS Admin Service หยุดทำงาน
ตรวจสอบ
Get-Service IISADMIN
เริ่มใหม่
Start-Service IISADMIN
🚀 สาเหตุที่ 12 : Antivirus Block IIS
บาง Antivirus
Block Port
Block Service
Block Worker Process
ทดลองปิดชั่วคราวเพื่อทดสอบ
🔍 ตรวจสอบ Event Viewer
เปิด
eventvwr.msc
ไปที่
Windows Logs
→
Application
และ
System
ค้นหา
W3SVC
WAS
IIS
นี่คือวิธีที่แม่นยำที่สุดในการหาสาเหตุจริง
🚀 รีเซ็ต IIS ทั้งระบบ
หากทุกอย่างปกติ
แต่ยังมีปัญหา
iisreset
หรือ
iisreset /restart
🚀 ตรวจสอบเว็บไซต์หลัง Start สำเร็จ
ทดสอบ
http://localhost
และ
https://yourdomain.com
ตรวจสอบ
Login
API
SSL
Database
📊 Checklist การแก้ปัญหา
| รายการ | ตรวจสอบ |
|---|---|
| W3SVC | ✅ |
| WAS | ✅ |
| HTTP Service | ✅ |
| Port 80 | ✅ |
| SSL Binding | ✅ |
| App Pool | ✅ |
| Event Viewer | ✅ |
| ApplicationHost.config | ✅ |
💡 Best Practices
สำหรับ Production Server
ควร
① สำรอง IIS Configuration ทุกวัน
② เปิด Monitoring
③ ตรวจสอบ Event Viewer เป็นประจำ
④ แยก App Pool ทุกเว็บไซต์
⑤ ใช้ SSL Certificate ที่มีการแจ้งเตือนวันหมดอายุ
⑥ ทดสอบ Configuration ก่อน Deploy
ทีมงาน comsiam มักเริ่มต้นการวิเคราะห์จาก Event Viewer ก่อนเสมอ เพราะช่วยลดเวลาในการหาสาเหตุได้อย่างมากเมื่อเทียบกับการเดาสาเหตุทีละจุด
สำหรับองค์กรขนาดใหญ่ comsiam แนะนำให้สำรอง IIS Configuration อัตโนมัติทุกวัน และใช้ Monitoring แจ้งเตือนเมื่อ W3SVC หรือ WAS หยุดทำงาน เพื่อป้องกัน Downtime ที่ยาวนาน
🎯 สรุป
หาก IIS Service บน Windows Server 2022 Start ไม่ได้ สาเหตุส่วนใหญ่มักมาจาก WAS, Port Conflict, Configuration Error, SSL Binding หรือ Application Pool
คำสั่งที่ควรตรวจสอบก่อนเสมอคือ
Get-Service W3SVC,WAS
จากนั้นตรวจสอบ Event Viewer และ IIS Configuration เพื่อหาสาเหตุที่แท้จริง ซึ่งจะช่วยให้แก้ปัญหาได้รวดเร็วและแม่นยำกว่าการรีเซ็ตระบบโดยไม่ทราบสาเหตุ