1. 程式人生 > 實用技巧 >【IIS問題】解決HTTP500內部伺服器錯誤辦法之歸納

【IIS問題】解決HTTP500內部伺服器錯誤辦法之歸納

今天在檢視電腦裡的圖片時發現了這組圖片,是關於解決安裝IIS後出現HTTP500內部伺服器錯誤問題的一組捕捉圖片,應該說我安裝IIS也有好多次了,每次安裝完後都要出現這個問題,奇怪的是,雖然是同一個問題,可是解決的方法卻各不相同,當時有想寫下來的想法,所以去年在操作的時候把過程捕捉下來了,後來不知怎麼把這事忘記了,既然今天又把它重新翻出來了,那待我好好想一想把它寫下來吧。呵呵~由於時間長了有點忘記當時的操作過程了:

記得當時想在電腦上瀏覽自己做的一個小網站,因為電腦重灌了系統,以前裝好的都沒了,所以必須重灌IIS(那時裝的是5.1版)安裝好後先看了幾個靜態的html網頁,顯示正常,再瀏覽網站資料夾裡index.asp,開啟來的是下面(圖1)那個介面,
這是友好提示的http錯誤資訊,如果開啟IE,選擇工具——internet選項——高階——取消"顯示http友好錯誤提示\"的複選框,網頁會顯示下面的出錯提示:
Server Application Error
The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance. (大致意思是:伺服器應用程式錯誤——該伺服器遇到一個錯誤,同時裝載在您的請求處理的申請。請參閱事件日誌的詳細資訊。請聯絡伺服器管理員求助!) 於是我開啟事件檢視器,檢視日誌見很多MSDTC服務和裝置的錯誤,錯誤日誌如下(圖2)
根據在網上資料判斷是帳戶不同步引起的,於是按如下步驟來同步密碼: 1)右鍵單擊 我的電腦---->管理---->本地使用者和組---->使用者
右鍵單擊 啟動IIS程序帳號 IWAM_**** (注:****一般是計算機名)點選設定密碼,設定為一個你想要的密碼。 2)同步IIS 配置資料庫密碼:
此處命令有二種,一種可以檢視密碼,一種是修改密碼: a.你可以利用檢視密碼命令檢視 IWAM密碼,然後把第一步中使用者IWAM密碼設定為與 檢視到的IIS配置資料庫密碼 一樣 b.也可以利用修改密碼命令把IIS配置資料庫密碼修改為密碼。
在獲取密碼的時候如果顯示的結果密碼為“******”應當修改Adsutil.vbs檔案,修改方法:在c:\inetpub\adminscripts 找到adsutil.vbs (根據裝系統時設定的不同,有的路徑可能不一樣)如下(圖3)
用記事本開啟此檔案 查詢 IsSecureProperty = True (注意=前後各有一個空格
),將 IsSecureProperty = True 改為 IsSecureProperty = False 儲存關閉。 如下(圖4) 然後點選開始---->執行,輸入cmd回車 開啟命令列工具 先輸入 cd c:\inetpub\adminscripts 獲取 IWAM 帳戶密碼命令: cscript.exe adsutil.vbs get w3svc/wamuserpass 獲取 IUSR 帳戶密碼命令: cscript.exe adsutil.vbs get w3svc/anonymoususerpass 輸入以上命令,按回車可分別檢視IWAM和IUSR的密碼。 現在來把密碼修改一致: 修改 IWAM 帳戶密碼 cscript.exe adsutil.vbs set w3svc/wamuserpass "password" 修改 IUSR 帳戶密碼 cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password" 如下(圖5) password 設定為你想修改的密碼,即與第一步中你設定的使用者IWAM _****的相同,按回車即可修改完成。 這裡一定要注意:w3svc與wamuserpass之間的槓是/而不是\,否則會出錯。 並且還要注意:修改密碼前請一定停止所有的Internet資訊服務,否則後面可能會出錯,並且IWAM帳戶可能會被鎖定。 如何停止?開啟計算機管理,在Internet資訊服務上單擊右鍵,選擇重新啟動IIS服務,在選項中點停止IIS服務,確定即可。 3)更改元件服務中的密碼 開始--->程式--->附件 開啟命令提示符
先輸入 cd c:\inetpub\adminscripts 然後輸入 cscript.exe synciwam.vbs -v 系統會如下(圖6)提示: 然後只要運行了一下iisreset重啟IIS就可以了。 但是我這裡最後一步提示8004e00f的錯誤,此錯誤是MSDTC服務不正常造成的,解決方法:1、開啟控制面板--->管理工具--->元件服務,發現“我的電腦”有向下的紅色小箭頭,再點選它下面的“com+應用程式”資料夾的時候,提示如下(圖7)   2、進入事件檢視器(圖8),開啟這4個錯誤日誌來看,發現msdtc服務沒有正常啟動: 4個錯誤日誌詳情如下: 事件型別:錯誤
事件來源:MSDTC
事件種類:服務
事件 ID:4163
日期:2009-8-20
事件:13:24:42
使用者:N/A
計算機:xxxxxxx
描述:
找不到 MS DTC 日誌檔案。在確認所有由 MS DTC 協調的資源管理器不具有“不確定”狀態的事務之後,請執行 msdtc -resetlog 建立日誌檔案。 有關更多資訊,請參閱在 http://go.microsoft.com/fwlink/events.asp 的幫助和支援中心。
事件型別:錯誤
事件來源:MSDTC
事件種類:磁碟
事件 ID:4185
日期:2009-8-20
事件:13:24:42
使用者:N/A
計算機:xxxxxxx
描述:
MS DTC 事務管理器啟動失敗。LogInit 返回錯誤 0x2。 有關更多資訊,請參閱在 http://go.microsoft.com/fwlink/events.asp 的幫助和支援中心。
事件型別:錯誤
事件來源:MSDTC
事件種類:裝置
事件 ID:4112
日期:2009-8-20
事件:13:24:42
使用者:N/A
計算機:xxxxxxx
描述:
無法啟動 MS DTC 事務管理器。 有關更多資訊,請參閱在 http://go.microsoft.com/fwlink/events.asp 的幫助和支援中心。
事件型別:錯誤
事件來源:COM+
事件種類:(98)
事件 ID:4691
日期:2009-8-20
事件:13:24:42
使用者:N/A
計算機:xxxxxxx
描述:
執行時環境無法初始化支援事務處理元件所需的事務。請確認 MS-DTC 正在執行。(DtcGetTransactionManagerEx(): hr = 0x8004d01b) 有關更多資訊,請參閱在 http://go.microsoft.com/fwlink/events.asp 的幫助和支援中心。
  3、刪除登錄檔中的鍵:點選開始---->執行---->輸入regedit後確定開啟登錄檔編輯器刪除下面三個鍵,路徑如下   · HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC (圖9)   · HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC (圖10)   · HKEY_CLASSES_ROOT\CID (圖11)   4、停止MSDTC服務:net stop msdtc   5、解除安裝MSDTC服務:msdtc -uninstall   6、重新安裝MSDTC服務:msdtc -install (圖12)    7、確認在事件檢視器中msdtc服務已經正常啟動,這步很關鍵,如果沒有,重新啟動下電腦看看,現在進入元件服務,“我的電腦”上的紅色小箭頭沒有了,可以開啟“com+應用程式”只是開啟後沒有看到以下的三個元件: IIS In-Process Applications (IIS 程序內應用程式)
IIS Out-of-Process Pooled Applications (IIS 程序外應用程式)
IIS Utilities (IIS 實用工具)(圖13) 這是伺服器系統中的ASP相關元件(com+元件)出現了問題,我有幾次安裝IIS後發現問題查到這裡看到是一個或二個,沒有完整的三個,既然是不全的,那必須刪除這剩餘的元件,有時會刪除不掉,那需要先將屬性裡的高階中“禁止刪除”的勾選取消後再來刪除。刪除後再開啟命令提示符輸入: “cd %windir%\system32\inetsrv”字串命令,單擊回車鍵後,再執行 “rundll32 wamreg.dll,CreateIISPackage”命令,接著再依次執行 “regsvr32 asptxn.dll”命令,最後輸入 “iisreset”命令,重新啟動一下計算機作業系統後就可看到完整的com+元件了(圖14) 這也就說明IIS伺服器能正確響應ASP指令碼,這時再開啟管理---->服務和應用程式---->預設網站下開啟ASP頁面會發現可以正常訪問了。 安裝過好多次IIS,發現操作步驟就是上面這幾個,不過不一定要按上面的順序來,只要能把這幾個步驟都做一遍了,基本上也就能正常瀏覽ASP頁面。(在網上看到關於HTTP 500 內部伺服器錯誤的資料很多很雜,看得人頭昏眼花的還沒明白個所以然,所以我把它歸納出來希望對大家有所幫助)。

本文出自 “linger” 部落格,請務必保留此出處http://linger.blog.51cto.com/867849/310376

轉載於:https://blog.51cto.com/wurongzong/567708