วิธี Restart IIS บน Windows Server 2022 อย่างถูกต้องโดยไม่ทำเว็บล่ม
การ Restart IIS เป็นงานที่ผู้ดูแลระบบ Windows Server 2022 ต้องพบเจออยู่เป็นประจำ ไม่ว่าจะเป็นหลังการอัปเดตเว็บไซต์ แก้ไข Configuration ติดตั้ง SSL Certificate หรือแก้ปัญหา Application Pool
อย่างไรก็ตาม การ Restart IIS แบบไม่ถูกวิธีอาจส่งผลให้เว็บไซต์ทั้งหมดหยุดให้บริการชั่วคราว ผู้ใช้งานหลุดจากระบบ หรือเกิด Downtime ที่ไม่จำเป็นได้
บทความนี้จะอธิบายวิธี Restart IIS อย่างถูกต้อง พร้อมแนวทางลดผลกระทบต่อผู้ใช้งานจริง
🌐 Restart IIS คืออะไร
Restart IIS คือการรีสตาร์ทบริการ Web Server ของ Microsoft
เมื่อ Restart แล้ว
เว็บไซต์จะโหลดค่า Configuration ใหม่
Session บางประเภทอาจถูกรีเซ็ต
Connection ปัจจุบันอาจถูกตัด
Application Pool อาจเริ่มต้นใหม่
ดังนั้นควรดำเนินการอย่างระมัดระวังใน Production Environment
🔍 ควร Restart IIS เมื่อใด
สถานการณ์ที่เหมาะสม เช่น
✅ แก้ไข IIS Configuration
✅ เปลี่ยน SSL Certificate
✅ ปรับค่า Authentication
✅ ติดตั้ง Module ใหม่
✅ เว็บไซต์ทำงานผิดปกติ
✅ Memory Leak
✅ หลังอัปเดตระบบ
⚠️ สิ่งที่ควรทราบก่อน Restart IIS
คำสั่ง Restart IIS จะมีผลกับทุกเว็บไซต์ที่อยู่บนเครื่อง
ตัวอย่าง
หาก Server มี
website01.com
website02.com
website03.com
การใช้
iisreset
จะกระทบทุกเว็บไซต์ทันที
🚀 วิธี Restart IIS ด้วย IISRESET
วิธีที่นิยมมากที่สุด
เปิด Command Prompt แบบ Administrator
รัน
iisreset
ผลลัพธ์
Attempting stop...
Internet services successfully stopped
Attempting start...
Internet services successfully restarted
IIS จะหยุดและเริ่มใหม่ทั้งหมด
🚀 Restart IIS จาก PowerShell
เปิด PowerShell
รัน
iisreset
หรือ
iisreset /restart
ได้ผลลัพธ์เช่นเดียวกัน
🚀 Restart เฉพาะ W3SVC
หากต้องการ Restart เฉพาะ Web Service
Restart-Service W3SVC
ตรวจสอบสถานะ
Get-Service W3SVC
ผลลัพธ์
Running
🚀 Stop IIS ชั่วคราว
หยุด Web Service
iisreset /stop
หรือ
Stop-Service W3SVC
🚀 Start IIS อีกครั้ง
iisreset /start
หรือ
Start-Service W3SVC
🔍 ตรวจสอบว่า IIS กลับมาทำงานแล้ว
รัน
Get-Service W3SVC
ควรได้
Status : Running
🌍 ทดสอบเว็บไซต์หลัง Restart
เปิด Browser
http://localhost
หรือ
https://yourdomain.com
ตรวจสอบว่าเว็บไซต์ตอบสนองตามปกติ
⚡ Restart ผ่าน Services.msc
เปิด
services.msc
ค้นหา
World Wide Web Publishing Service
คลิก
Restart
วิธีนี้เหมาะสำหรับผู้ที่ไม่ถนัด Command Line
⚡ Restart ผ่าน IIS Manager
เปิด
inetmgr
เลือกชื่อ Server
จากนั้นคลิก
Restart
ในเมนู Manage Server
🔒 วิธี Restart แบบลด Downtime
ใน Production Server
ไม่แนะนำให้ใช้
iisreset
หากมีหลายเว็บไซต์
ควรใช้
Recycle Application Pool
แทน
เนื่องจากกระทบเฉพาะเว็บไซต์ที่ต้องการ
⚡ Recycle Application Pool
เปิด IIS Manager
ไปที่
Application Pools
เลือก Pool ที่ต้องการ
คลิก
Recycle
ข้อดี
✅ ไม่กระทบเว็บอื่น
✅ Downtime ต่ำมาก
✅ ปลอดภัยกว่า
🔍 ดู Log หลัง Restart
Log ของ IIS อยู่ที่
C:\inetpub\logs\LogFiles
หรือดู Event Viewer
Windows Logs
Application
เพื่อตรวจสอบ Error
🚨 ปัญหาที่พบบ่อยหลัง Restart IIS
เว็บไซต์เปิดไม่ได้
ตรวจสอบ
Get-Service W3SVC
Application Pool หยุด
ตรวจสอบ
Application Pools
ใน IIS Manager
Port 80 ถูกใช้งาน
รัน
netstat -ano
SSL Error
ตรวจสอบ
Bindings
ของเว็บไซต์
🚀 Restart IIS บน Server Core
Server Core ไม่มี GUI
ใช้
iisreset
หรือ
Restart-Service W3SVC
แทน
📊 เปรียบเทียบวิธี Restart
| วิธี | กระทบทุกเว็บ | เหมาะกับ Production |
|---|---|---|
| IISRESET | ✅ | ⚠️ |
| Restart W3SVC | ✅ | ⚠️ |
| Recycle App Pool | ❌ | ✅ |
| Restart Website | ❌ | ✅ |
💡 Best Practices
สำหรับ Production Environment
ควร
① ใช้ Recycle Application Pool ก่อน
② ใช้ Restart Website หากกระทบเฉพาะเว็บเดียว
③ หลีกเลี่ยง IISRESET ในช่วงเวลาทำการ
④ ตรวจสอบ Log ทุกครั้งหลัง Restart
⑤ สำรอง Configuration ก่อนเปลี่ยนแปลงระบบ
ทีมงาน comsiam มักหลีกเลี่ยงการใช้ IISRESET บน Production Server เว้นแต่มีเหตุจำเป็นจริง ๆ เพราะอาจส่งผลต่อเว็บไซต์ทั้งหมดบนเครื่องเดียวกัน
สำหรับองค์กรที่โฮสต์หลายสิบหรือหลายร้อยเว็บไซต์ comsiam แนะนำให้ใช้ Application Pool แยกกันทุกเว็บไซต์ และใช้ Recycle เฉพาะ Pool ที่มีปัญหา เพื่อลด Downtime ให้เหลือน้อยที่สุด
🎯 สรุป
การ Restart IIS บน Windows Server 2022 สามารถทำได้หลายวิธี แต่ไม่ใช่ทุกวิธีจะเหมาะกับระบบ Production
คำสั่งที่นิยมที่สุดคือ
iisreset
แต่สำหรับระบบที่ให้บริการจริง ควรเลือก Restart Website หรือ Recycle Application Pool ก่อน เพื่อหลีกเลี่ยงผลกระทบต่อเว็บไซต์อื่นและลด Downtime ของระบบให้น้อยที่สุด