win2003+iis6.0 Service unavailable 問題的解決方法
1. 現象:單擊“開始”——“設定”——“控制面板”——“管理工具”——“事件檢視器”,開啟事件檢視器,單擊“系統”,看到很多警告和錯誤,主要是以下幾個:
1)來源是“W3SVC”、事件ID為“1002”的錯誤,描述是“應用程式池 'DefaultAppPool' 被自動禁用,原因是為此應用程式池提供服務的程序中出現一系列錯誤。”
2)來源是“W3SVC”、事件ID為“1009”的警告,描述是“為應用程式池 'DefaultAppPool' 提供服務的程序意外終止。程序 ID 是 '1756'。程序退出程式碼是 '0xffffffff'。”
3)來源是“DCOM”、事件ID為“10016”的錯誤,描述是“應用程式-特定 許可權設定未將 COM 伺服器應用程式(CLSID 為{A9E69610-B80D-11D0-B9B9-00A0C922E750})的 本地 啟用 許可權授予使用者 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。可以使用元件服務管理工具修改此安全許可權。”
2. 分析:通過這幾個事件可以判定應該是第三個事件ID為“10016”的DCOM錯誤引起了事件ID為1009的應用程式池意外退出,從而造成事件ID為1002的應用程式池被自動禁用的W3SVC錯誤,下面就來解決。
3. 問題確定:通過DCOM錯誤的提示,原因是NETWORK SERVICE使用者沒有許可權啟動{A9E69610-B80D-11D0-B9B9-00A0C922E750},
找到了原因,下面就來解決這個問題
1. 先查詢這個CLSID{A9E69610-B80D-11D0-B9B9-00A0C922E750}對應的服務,單擊“開始”——“執行”,輸入“regedit”啟動登錄檔編輯器,在登錄檔編輯器的左側樹中選中“我的電腦”,再使用快捷鍵“Ctrl+F”開啟查詢對話方塊,在“查詢目標”後輸入剛才的CLSID:“{A9E69610-B80D-11D0-B9B9-00A0C922E750}”,“檢視”的複選框中只保留 “項”,回車執行查詢任務。
2. 查詢到該CLSID,在登錄檔編輯器右側顯示了該CLSID的資訊,從該資訊得知,該CLSID對應的服務是IIS Admin Service,現在就可以確定NETWORK SERVICE使用者沒有許可權啟動IIS Admin Service。
3. 開啟“開始”-“控制面板”-“管理工具”-“元件服務”-“計算機”-“我的電腦”-“DCOM配置”選項,找到“IIS Admin Service”,右健選擇“屬性”,找到“安全”,在“啟動和啟用許可權”中編輯“自定義”,新增帳號“NETWORK SERVICE ”,賦予“本地啟動”和“本地啟用”的許可權,重新啟動IIS。
4. 重啟IIS,再次開啟網頁,現在已經正常顯示了。