前两天碰见一个问题,部署网站以后,浏览时老是报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的请求数和队列数。