1. 程式人生 > >IIS6.0 IIS7.5應用程式池自動停止的解決方法

IIS6.0 IIS7.5應用程式池自動停止的解決方法

關於IIS6的(適於IIS7)解決方法

描述:

iis6應用程式池被自動禁用問題 Service Unavailable 應用程式池 'DefaultAppPool' 被自動禁用,原因是為此應用程式池提供服務的程序中出現一系列錯誤。應用程式-特定 許可權設定未將 COM 伺服器應用程式(CLSID 為 .............

1.首先是開啟IIS管理器.檢查應用程式池,果然"DefaultAppPool"出錯了.而且不是平常的停止的圖示.

2.試著重啟"DefaultAppPool"應用程式池,一瀏覽頁面馬上就關閉.

3.到了檢視事件日誌的時候了.發現了以下這類的日誌

事件型別: 警告
事件來源: W3SVC
事件種類: 無
事件 ID: 1009
日期:  2008-6-24
事件:  16:12:33
使用者:  N/A
計算機: MAIL
描述:
為應用程式池 'DefaultAppPool' 提供服務的程序意外終止。程序 ID 是 '3160'。程序退出程式碼是 '0xffffffff'。

4.會不會是預設的程式池出問題了?於是,嘗試新建一個新的程式池.將預設網站的程式池改成新的.但是問題依舊.出現相似的日誌.

事件型別: 錯誤
事件來源: W3SVC
事件種類: 無
事件 ID: 1002
日期:  2008-6-25
事件:  14:17:04
使用者:  N/A
計算機: MAIL
描述:
應用程式池 'AppPool #1' 被自動禁用,原因是為此應用程式池提供服務的程序中出現一系列錯誤。


5.再查詢事件日誌另一個日誌引起了我的注意.如下:

事件型別: 錯誤
事件來源: DCOM
事件種類: 無
事件 ID: 10016
日期:  2008-6-24
事件:  16:12:33
使用者:  NT AUTHORITY/NETWORK SERVICE
計算機: MAIL
描述:
應用程式-特定 許可權設定未將 COM 伺服器應用程式(CLSID 為
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 啟用 許可權授予使用者 NT AUTHORITY/NETWORK SERVICE SID (S-1-5-20)。可以使用元件服務管理工具修改此安全許可權。

6.有點戲了.看看CLSID 為 {A9E69610-B80D-11D0-B9B9-00A0C922E750} 是什麼服務先.最後在下面的登錄檔項中找到它:

HKEY_CLASSES_ROOT/AppID/{A9E69610-B80D-11D0-B9B9-00A0C922E750}

7.名字剛好是"IIS Admin Service"

8.好了,找到是什麼了.從"管理工具"中開啟"元件服務",找到IIS Admin Service對比一下CLSID是否一致

9.確定是這個以後,接下來的就是為它增加NETWORK SERVICE許可權了.
A啟動和啟用許可權,點選"自定義"..

B.在使用者列表中新增"NETWORK SERVICE",

C.並給予本地啟動和啟用許可權,儲存退出.

另外,如果還是有問題,把“IIS wamreg admin SERVICE”也這樣操作一下,右健選擇“屬性”,找到“安全”,在“啟動和啟用許可權”中編輯“自定義”,新增帳號network service network service 分別給本地啟動和啟用許可權。

2014年2月18日再補充:今日有網友向最火軟體小編反饋他的解決方法,就是在Windows server 2008 R2 64位下使用PHP5.5.x版本,不用以上設定,也解決了此問題。

到此問題解決。

也有朋友提到,選項無法編輯,為灰色,應該怎麼辦?

這個是win2008 R2 x64的安全特性.一些核心系統元件只能允許本地帳號,TrustedInstaller有完全控制權限,而不是本地管理員組
要在Windows Server 2008 R2 上修改 “IIS Admin Service” ,你需要授予本地管理員組有登錄檔許可權:
1.在元件管理器中查到IIS的appid
2.使用regedit,定位到HKEY_CLASSES_ROOT\AppID\{剛查到的ID}”
3.右鍵點選{剛查到的ID},選許可權
4.在許可權設定視窗中點高階,選擇所有者標籤,選中administrators為所有者
5.授予administrators組有讀/寫等所有權 注意:務必不要修改TrustedInstaller的許可權
現在,重新執行元件管理器,可以修改許可權