來源:http://www.guchengnet.com/1499.html
IIS6.0 IIS7.5應用程序池自動停止的解決方法 搜集整理
有2.3個月沒有用本地的iis測試網站了,打開iis后新建網站,打開網站直接顯示503錯誤,查看程序池,發現對應的程序池處於停止狀態。一開始簡單的以為新建的網站程序池沒有開啟,所以直接右鍵——對應的程序池——啟動,重啟下網站,打開,蒙了、、、依舊503,再返回去看程序池,又停止了。於是百度一下看看有沒有人跟我遇到一樣的問題,好家伙、、、真的好多。
網上有好多種方法,自己試過一下三種方法,前兩種都沒有解決我的問題,但是看網上有人使用過成功解決了,不知道是不是運行環境不一樣,在這里羅列出來供大家參考!
我的iis運行環境:win7 64位(不是服務器,是本地計算機),iis6.0,php3.5+php5.6
我的問題:iis環境下4個以前建的站點(包括1個asp站點、3個php站點),1個phpmyadmin管理站點,1個新建php站點,4個以前的站點與phpmyadmin管理站點打開都是正常的,無論是asp還是php站點測試運行都正常,但是只要打開新建的php站點對應的程序池就會自動關閉,我嘗試把新建的站點換成asp程序(因為有人說iis對php的支持很不好),但是問題依舊,打開站點顯示503錯誤,對應的程序池自動停止。因此我嘗試了一下方法:
方法一:所謂的iis假死
應 用程序-特定 權限設置未將 COM 服務器應用程序(CLSID 為{A9E69610-B80D-11D0-B9B9-00A0C922E750}) 的 本地 激活 權限授予用戶 NT AUTHORITYNETWORK SERVICE SID (S-1-5-20)。可以使用組件服務管理工具修改此安全權限。
解決方法,給NETWORK SERVICE 加上訪問iis服務的權限,具體方法如下:
點擊“開始”-“控制面板”-“管理工具”-“組件服務”-“計算機”-“我的電 腦”-“DCOM”選項,
選擇其下的“IIS ADMIN SERVICE”,右健選擇“屬性”,找到“安全”,在“啟動和激活權限”中編輯“自定義”,添加帳號“NETWORK SERVICE ”,給該帳號賦予“本地啟動”和“本地激活”的權限,重新啟動IIS之后再訪問同一站點,則一切正常。
在使用這種方法的時候我發現我的“IIS ADMIN SERVICE”安全屬性是灰的,跟本不可以自定義。為了完成這個方法我又嘗試先更改這一項的權限:
1、先找到應用程序對應的APPID,下圖畫圈的地方。
2、找到注冊表對應的位置。方法為:開始——運行,輸入“regedit” 打開注冊表,點編輯——查找——粘貼剛才的ID號就可以。
3、修改注冊表權限。這個就簡單了,在左側樹上——右鍵——權限。
這個地方為了保險起見我直接添加了user、network service兩個賬戶。然后權限全部都加上了,因為我是本地計算機,如果是配置服務器請慎重添加所有者。
注意,搜索的時候會出現三個搜索結果,我修改完第一個后,發現“IIS ADMIN SERVICE”安全屬性還是不可編輯,因此我又修改了第三個搜索結果的權限(第二個搜索結果沒有操作),然后就可以編輯“IIS ADMIN SERVICE”的安全屬性了。
然后繼續編輯“IIS ADMIN SERVICE”的安全屬性:在“啟動和激活權限”中編輯“自定義”,添加帳號“NETWORK SERVICE ”,給該帳號賦予“本地啟動”和“本地激活”的權限,重新啟動IIS之后再訪問同一站點,則一切正常。 (但是我的問題沒有解決,打開網站,對應的程序池依舊自動停止)
方法二:萬維網發布服務(W3SVC)已經停止
這個方法比較簡單,在桌面上右鍵點擊我的電腦——管理——服務——world wide web publishing services,找到此項,右鍵——啟動就可以了,有些不能啟動的,可以右鍵——屬性把啟動類型改成自動或者手動之后,再右鍵啟動。(但是我的問題沒有解決,打開網站,對應的程序池依舊自動停止)
看網上有人說“限制了應用池的資源,限制得太小 比如:50這樣或更少更多一點,這個時候如果你這個池下面的網站占用CPU太高,比如超過50% 那么5分鍾后他就自動死了,手工默認建立的應用池默認是超過資源不操作。”(但是我的舊站點是正常的,我也沒有動過iis的配置,所以我排除掉這個方法,沒有嘗試)
方法三:好不容易搜索到的這個結果,上述兩種方法的搜索結果太多了,顯得這個方法好冷門,感謝這個方法的提供者(我已經找不到那個頁面了、、、)
最好用的方法往往是最簡單的!!!!!!
右鍵點擊自動停止的應用程序池——高級設置——修改標識為——local service(默認的應該是applicationpoolidentity),如圖:
至此,我的問題解決了,程序池不在關閉,站點打開正常。
當然我也還有疑問:我辦公室的電腦上應用程序池的默認標識是applicationpoolidentity,但是本地站點是完全正常的,如果有大神曉得其中的道理的話,感謝您留言或者評論一下!