1. 程式人生 > >IIS無法啟動問題的解決

IIS無法啟動問題的解決

                IIS無法啟動,顯示“服務並未即使響應啟動或控制請求”,我用兩種辦法都沒有解決:1、把IIS解除安裝重灌也不行;2、到服務中world wide web publishing服務也不能啟動,提示127錯誤,依存服務都啟動了也不行。於是就沒辦法了,幾個星期也沒有除錯網站。今天上網查了一下找到了一個看上去有些道理的解決辦法:呵呵,我也遇此問題,懷疑是補丁造成的,因為我們都是在下午打的補丁,然後晚上出問題還原後第一件事是檢視IIS沒問題,確定沒問題後就又打補丁,然後IIS又出問題。我查過了是這個WindowsXP-KB939373-x86-CHS.exe補丁,好像是阻止iis遠端程式碼執行什麼的補丁。就是最近剛剛出現的,大面積出現這個問題都是在2007年7月10號以後。 解決:到控制面板-新增/刪除程式,點選最上邊的“顯示更新”,找到“windows xp 軟體更新”,解除安裝掉7月10號以後的幾個補丁,World Wide Web Publishing服務便能啟動了。 (注意:解除安裝的前提是,c盤windows目錄下以$開頭$結尾的資料夾沒有刪除掉)網上其他原因和解決辦法:1、防火牆規則限制了。系 統環境是:Windowsxp sp2, IIS5.1。程序無法啟動,這時候當然看看防火牆或是防毒軟體有沒有相關的程序,"World Wide Web Publishing"的可執行檔案是"inetinfo.exe",在瑞星防火牆訪問規則裡找到"inetinfo.exe"訪問規則設為全部放行。再 次啟動"World Wide Web Publishing",然後再啟動IIS,一切OK。2、沒有使用管理員連線。系統環境:Windowsxp+sp2,II5.0 故障現象:上午把IIS服務停止以後,程式長時間沒響應,通過工作管理員關閉,啟動時提示“服務沒有及時響應啟動或控制請求”,重啟計算機未能解決。 解決辦法:在Internet資訊服務下有本地計算機(計算機機名),單擊名鍵,選擇斷開,提示確實要斷開本地計算機(計算機機名)嗎?選擇確定。 右鍵單擊Internet,選擇連線,計算機名填本機名稱,使用者名稱填本機管理員帳號(Administrator),確定。3、依存服務沒有啟動。
昨 天就發現了公司我用這臺電腦的IIS啟動不了,今天早上試著解決它,才發現問題並不簡單。找呀找呀找呀,發現 "WorldWideWebPublishing"關閉了,啟動也提示啟動失敗。靜下心來,再看看其它關閉了的服務,有一項Eventlog把它啟動了, 再啟動WorldWideWebPublishing成功。問題就在這裡。 雖然“WorldWideWebPublishing”服務和 SMTP服務的依存關係列表中沒有提到“eventlog”服務,但“eventlog”服務不啟動的話,就會出現上述問題。啟動“eventlog”服 務,然後啟動“WorldWideWebPublishing”服務,上述問題消失。 於是檢視World Wide Web Publishing Services所需要依賴的服務(Dependencies),看到是IIS Admin Service。進而發現IIS Admin Service也無法啟動,再查IIS Admin Service的Dependencies,查的結果是Protected Storage和RPC(Remote Procedure Call),於是啟動RPC,接著順利啟動IIS Admin Service,接著啟動World Wide Web Publishing Services,於是IIS恢復正常。 4、IIS元資料庫可能壞了。
測試一下。 Try to enumerate metabase: 1. Open a command prompt and change to the C:/Inetpub/Adminscripts folder. 2. At the command line, type "cscript adsutil.vbs enum " (without the quotation marks). If this command is successful, it enumerates the settings in the metabase. If the command is not successful, you receive the -2146893792 (0x80090020) error code. 假如有備份,把資料回覆。 如果沒有,參考 How to Manually Restore the Metabase When No Proper Backup Exists or When the MMC Does Not Start
http://support.microsoft.com/?id=234429
HOW TO: Download, Install, and Remove the IIS MetaEdit 2.2 Utility http://support.microsoft.com/?id=232068 有可能是Metabase.bin 或者元資料庫壞了,解決辦法參考如下 有關如何使用 MMC 備份和還原元資料庫的資訊,請參見 IIS 自述檔案,該檔案位於 http://localhost/iishelp/iis/htm/core/iisread.htm#general(假設本地計算機上已安裝產品文件)。 如果由 MMC 建立的備份檔案可用 以下內容為程式程式碼: 如 果已使用 MMC 中的“備份”操作建立了一個備份檔案 (FileName.mdBackupNumber),但由於當前的元資料庫已損壞而無法開啟 MMC,請執行下面的步驟,以便手動從 FileName.mdBackupNumber 檔案中還原該元資料庫。 1. 停止所有 IIS 服務及其他依賴於 IIS 的服務(例如,第三方應用程式或 Microsoft Site Server)。 注意:要停止 IIS 及其依賴服務,請使用 NET STOP IISADMIN /Y 命令。有關其他資訊,請參見以下 Microsoft 知識庫文章: 236166 (http://support.microsoft.com/kb/236166/) 使用 NET STOP 和 NET START 命令強制 IIS 服務重新讀取登錄檔 2. 使用一個新名稱(如 Metabase.bad)重新命名已損壞的元資料庫檔案 Metabase.bin。該檔案位於 %SystemRoot%/System32/Inetsrv 資料夾中。 3. 將位於 %SystemRoot%/System32/Inetsrv/Metaback 資料夾中的 MMC 備份元資料庫檔案 FileName.mdBackupNumber 複製到 %SystemRoot%/System32/Inetsrv 資料夾中。將該檔案重新命名為 Metabase.bin。 4. 重新啟動計算機。 如果存在 Metabase.bin 檔案的舊副本 如 果由 MMC 建立的備份檔案不可用,但在其他位置(通常在系統磁帶備份中)存在 Metabase.bin 檔案的舊副本,請執行以下步驟: 1. 停止所有 IIS 服務及其他依賴於 IIS 的服務(例如,第三方應用程式或 Microsoft Site Server)。 注意:要停止 IIS 及其依賴服務,請使用 NET STOP IISADMIN /Y 命令。有關其他資訊,請參見以下 Microsoft 知識庫文章: 236166 (http://support.microsoft.com/kb/236166/) 使用 NET STOP 和 NET START 命令強制 IIS 服務重新讀取登錄檔 2. 使用一個新名稱(如 Metabase.bad)重新命名已損壞的元資料庫檔案 Metabase.bin。該檔案位於 %SystemRoot%/System32/Inetsrv 資料夾中。 3. 將 Metabase.bin 檔案的舊副本複製到 %SystemRoot%/System32/Inetsrv 資料夾中。 4. 重新啟動計算機。 如果不存在 MMC 備份或 Metabase.bin 檔案的舊副本 如果由 MMC 建立的備份檔案不可用,且不存在 Metabase.bin 檔案的舊副本,那麼元資料庫的臨時備份可能依然存在。 在通過 MMC 或其他程序更新元資料庫時,可能會建立元資料庫的臨時備份。如果更新過程被中斷(原因可能是在第一個位置中有損壞),則該臨時檔案有可能依然存在。 可 將該臨時檔案命名為 Metabase.bak 或 Metabase.bin.bak,並放到 %SystemRoot%/System32/Inetsrv 資料夾中。如果存在該臨時檔案,請執行以下步驟,以嘗試還原元資料庫: 1. 停止所有 IIS 服務及其他依賴於 IIS 的服務(例如,第三方應用程式或 Microsoft Site Server)。 注意:要停止 IIS 及其依賴服務,請使用 NET STOP IISADMIN /Y 命令。有關其他資訊,請參見以下 Microsoft 知識庫文章: 236166 (http://support.microsoft.com/kb/236166/) 使用 NET STOP 和 NET START 命令強制 IIS 服務重新讀取登錄檔 2. 使用一個新名稱(如 Metabase.bad)重新命名已損壞的元資料庫檔案 Metabase.bin。該檔案位於 %SystemRoot%/System32/Inetsrv 資料夾中。 3. 將臨時備份檔案(Metabase.bak 或 Metabase.bin.bak)重新命名為 Metabase.bin。 4. 重新啟動計算機。 如果不存在元資料庫備份檔案 如果沒有可用於元資料庫的備份檔案,則還原 IIS 功能的唯一方法是完成以下操作。但請注意,儲存在元資料庫中的所有 IIS 設定都將丟失。 1. 解除安裝 Windows NT Option Pack。有關其他資訊,請參見以下 Microsoft 知識庫文章: 187870 (http://support.microsoft.com/kb/187870/) 如何刪除和重新安裝 Windows NT 4.0 Option Pack 2. 解除安裝 Internet Explorer。 3. 從 %SystemRoot/System32/Inetsrv/ 資料夾中刪除 Metabase.bin 檔案。 4. 安裝 Internet Explorer。 5. 安裝 Windows NT Option Pack。 (c) Microsoft Corporation 2000,保留所有權利。由 Microsoft Corporation 的 Kevin Zollman 提供。