IIS應用程序池自動中止,報503錯誤解決方法

前兩天碰見一個問題,部署網站以後,瀏覽時老是報503,找了半天才發現是用戶權限問題,如今記錄一下,方便之後遇到的大夥快速解決問題,以致於不會浪費太多時間html

 

 解決方法:web

應 用程序-特定 權限設置未將 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下右健選擇「屬性」,找到「安全」,在「啓動和激活權限」中編輯「自定義」的按鈕不可點擊服務器

 

下面的內容就是解決這一問題的方式:網絡

A9E69610-B80D-11D0-B9B9-00A0C922E750app

這個是win2008 R2 x64的安全特性.一些核心系統組件只能容許本地賬號,TrustedInstaller有徹底控制權限,而不是本地管理員組工具

要在Windows Server 2008 R2 上修改 「IIS Admin Service」 ,你須要授予本地管理員組有註冊表權限:性能

1.在組件管理器中查到IIS的appid網站

2.使用regedit,定位到HKEY_CLASSES_ROOT\AppID\{剛查到的ID}」spa

3.右鍵點擊{剛查到的ID},選權限

4.在權限設置窗口中點高級,選擇全部者標籤,選中administrators爲全部者

5.授予administrators組有讀/寫等全部權 注意:務必不要修改TrustedInstaller的權限

 

503這個錯誤出現的緣由會有不少種,大夥要根據本身的狀況排除一下,下面貼出幾種緣由和排除思路(下面內容來自:http://www.cnblogs.com/onlytiancai/archive/2007/06/03/769309.html

緣由:

一、管理員可能關閉應用程序池以執行維護。
二、當請求到達時應用程序池隊列已滿。
三、應用程序池標識沒有使用預約義帳戶:網絡服務,而本身配置了標識,可是配置的這個用戶不屬於IIS_WPG組
四、應用程序池啓用了CPU監視,而且設置了CPU利用率超過必定百分比關閉應用程序池,而開發人員寫的服務端頁面(.asp,.aspx)執行效率不高,會引發CPU的長時間佔用,最終達到設置的百分比,從而引發應用程序池關閉
五、應用程序池的性能選項卡的請求隊列限制所填的數值過小,默認爲1000,可修改爲一個更大的值,好比說4500.
六、web.config的system.web/httpRuntime節點的appRequestQueueLimit屬性設置的值過低。

排查思路:

一、先檢查C:\WINDOWS\system32\LogFiles\HTTPERR\httperr1.log,看裏面有沒有503錯誤,503錯誤是不會記錄到C:\WINDOWS\system32\LogFiles\W3SVC1下的,若是503那一行有AppShutdown字樣,肯能是因爲CPU佔用率過高致使自動關閉應用程序池。若是是AppOffline多是因爲應用程序標識出錯引發的,若是是Disabled多是因爲管理員手工關閉應用程序池引發的。根據這些信息而後再採起響應措施。二、根據緣由5和緣由6來設置更大的請求隊列數目。三、禁用全部應用程序池回收選項。四、添加ASP.NET\Requests Current,ASP.NET\Requests Queued兩個計數器,查看IIS的請求數和隊列數。

相關文章
相關標籤/搜索