📑 什麼是 IIS、AppPool、Worker Process?其實是「餐廳」
在 Windows Server 上跑網站,最常見的就是用 IIS(Internet Information Services)。很多 IT 初學者聽到 AppPool 和 Worker Process…
📑 什麼是 IIS、AppPool、Worker Process?其實是「餐廳」
在 Windows Server 上跑網站,最常見的就是用 IIS(Internet Information Services)。很多 IT 初學者聽到 AppPool 和 Worker Process 就覺得抽象。其實只要理解它們的角色,再配合比喻和案例,就能掌握網站運作的核心。
🌐 專業解釋
IIS(Internet Information Services)
- 微軟提供的 Web Server,用來處理 HTTP/HTTPS 請求。
- 提供網站託管、應用程式服務、靜態檔案傳送等功能。
AppPool(Application Pool)
- IIS 的「應用程式集區」,用來隔離不同網站或應用。
- 每個 AppPool 都有獨立的設定與資源,互不干擾。
- 好處:某個網站崩潰,不會影響其他網站。
Worker Process(w3wp.exe)
- AppPool 裡的工作進程,負責真正執行程式碼。
- 當瀏覽器發送請求,Worker Process 會處理並回應。
- 一個 AppPool 可以有一個或多個 Worker Process,視乎設定。
📂 為何 Folder Permission 要用 ApplicationPool 層去 Grant?
- 在 IIS 中,網站的檔案存取權限通常不是直接給「使用者帳號」,而是給 AppPool Identity。
原因:
- 每個 AppPool 都有獨立的 Identity(類似一個專屬帳號)。
- 當 Worker Process 執行程式碼時,它會以該 Identity 的權限去存取檔案。
- 這樣可以確保不同網站的檔案存取互相隔離,避免安全風險。
例子:
- 官網的 AppPool Identity 只能存取官網的檔案資料夾。
- API 系統的 AppPool Identity 只能存取 API 的檔案資料夾。 👉 好處是:即使某個網站被入侵,攻擊者也無法直接存取其他網站的檔案。
🎨 比喻章節
想像一間大型餐廳:
- IIS = 餐廳,負責接待所有客人(瀏覽器請求)。
- AppPool = 餐廳裡的不同廚房分區(中菜、西餐、甜品),把不同網站或應用分隔開。每個廚房分區都有自己的「門禁卡」(Permission),例如中菜廚房的廚師只能用門禁卡進入 中菜儲物室(Folder),不能進入西餐儲物室。
- Worker Process = 廚師,真正下廚(執行程式碼、處理請求)。
客人(使用者)走進餐廳(IIS),被安排到合適的廚房分區(AppPool),最後由廚師(Worker Process)完成菜餚(網站回應)。而廚師只能進入自己有權限的儲物室,確保不同菜系互不干擾。

📖 案例
假設一間公司有一台伺服器,同時要跑三個網站:
- 公司官網:主要提供靜態頁面,放在一個 AppPool。
- 客戶登入平台:需要驗證與交易,放在另一個 AppPool。
- API 系統:提供資料給手機 App 使用,放在第三個 AppPool。
三個網站都由 IIS 管理(餐廳),各自分配到不同的 AppPool(廚房分區),再由各自的 Worker Process(廚師)處理請求。
👉 好處是:如果 API 系統出現程式錯誤,只會影響它自己的 AppPool,不會拖垮公司官網或客戶登入平台。同時,因為 Folder Permission 是以 AppPool Identity 設定,官網的檔案不會被 API 系統誤用。
❓ 常見問題
為什麼要分 AppPool?
- 隔離性:不同網站互不影響。
- 安全性:若某個網站被攻擊,其他網站仍能正常運作。
- 資源管理:可針對不同網站設定不同的記憶體、CPU 使用限制。
Worker Process 崩潰會怎樣?
- 當 Worker Process 崩潰,該 AppPool 下的網站會暫時無法回應。
- IIS 會嘗試自動重啟 Worker Process。
- 若崩潰頻繁,可能是程式碼錯誤或資源不足,需要開發或系統管理員排查。
🌟 最佳實務
- AppPool 回收設定:定期回收 Worker Process,避免長時間佔用資源導致效能下降。
- 監控 Worker Process:使用監控工具追蹤 w3wp.exe 的 CPU、記憶體使用情況。
- 分配資源:針對不同 AppPool 設定合理的資源限制,避免單一網站耗盡伺服器資源。
- 錯誤日誌分析:定期檢視 IIS 與應用程式日誌,及早發現問題。
- Folder Permission 管理:永遠以 AppPool Identity 設定檔案存取權限,確保安全隔離。
✅ 結論
IIS 是整個網站服務的框架,AppPool 是分隔不同應用的容器,而 Worker Process 則是實際執行程式的進程。Folder Permission 必須以 AppPool 層去 Grant,才能確保不同網站的檔案存取安全隔離。透過「餐廳 — 廚房 — 廚師 — 儲物室門禁卡」的比喻,再加上實際部署案例與最佳實務,大家可以更容易理解這三者的關係:IIS 管理全局,AppPool 分隔環境與權限,Worker Process 真正處理請求。
메타데이터
- post_id
- 5b97ee96d689
- slug
- 什麼是-iis-apppool-worker-process-其實是-餐廳-5b97ee96d689
- url
- https://medium.com/@mindsteps.alex/%E4%BB%80%E9%BA%BC%E6%98%AF-iis-apppool-worker-process-%E5%85%B6%E5%AF%A6%E6%98%AF-%E9%A4%90%E5%BB%B3-5b97ee96d689
- canonical_url
- https://medium.com/@mindsteps.alex/%E4%BB%80%E9%BA%BC%E6%98%AF-iis-apppool-worker-process-%E5%85%B6%E5%AF%A6%E6%98%AF-%E9%A4%90%E5%BB%B3-5b97ee96d689
- author_url
- https://medium.com/@mindsteps.alex
- status
- ok
- fetched_at
- 2026-07-10 21:17:37