网站后台登陆时输入账号密码后界面卡住,须重启应用程序池恢复
问题描述:网站后台登陆时输入账号密码后界面卡住,一直进不去后台,网站前台的一些功能页面也无法打开,必须重启应用程序池甚至重启服务器才能恢复。
问题分析:根据客户的反馈到服务器上查看服务器日志看到有一些报错:(服务器环境为win2008 R2 X64)
根据这三个报错分析,应该是系统中结束进程的操作未能执行导致应用程序池回收无法完成,从而引起应用程序池一直处于回收状态而无法提供服务。根据上面的报错,我们找到问题的原因:这个是win2008 R2 X64的安全特性,一些核心系统组件只能允许本地账号:TrustedInstaller有完全控制权限,而不是本地管理员组。
找到问题的原因后,我们就要调整一下这个权限,即要在Windows Server 2008 R2 上授予本地管理员组修改 “IIS Admin Service”的权限。
问题解决:
第一步:在组件管理器中查到IIS Admin Service的appid:
在系统“运行”里输入“dcomcnfg”打开组件管理器:
复制这个应用程序ID(appid)
第二步:找到注册表对应的位置HKEY_CLASSES_ROOT/APPID。
在系统“运行”里输入“regedit”
找到APPID,展开,然后按下Ctrl+F查找第一步中我们复制的appid。
第三步:修改注册表权限。这个就简单了,在左侧树上——右键——权限
在这里修改所有者,不然无法直接修改权限
把所有者给administrators组,确定就行了
第四步:重新打开 “组件服务”管理器,在IIS Admin Service项上右键—属性:
在这里添加NT AUTHORITYNETWORK SERVICE用户的启动权限。给该账号赋予"本地启动"和"本地激活"的权限。
确定,重启服务器。
重启后将IIS应用程序池的回收时间改成较短时间如1分钟,来观察日志是否还有之前的报错,如果没有之前的报错,说明我们的修改成功了。