Windows Server 2012下IIS 8.0应用池无法启动,WAS服务启动失败求助
修复Windows Server 2012中IIS 8.0 WAS服务无法启动及应用池故障的方案
针对你遇到的误删appPools文件夹后,WAS服务无法启动、应用池彻底失效的问题,结合Windows Server 2012和IIS 8.0的环境,给你几个针对性的排查和修复步骤:
1. 确认WAS依赖核心目录的完整性与权限
WAS服务依赖多个关键目录,仅重建appPools可能不够,务必检查以下路径:
- 临时应用池目录:默认路径是
C:\inetpub\temp\appPools,必须确保这个文件夹存在。右键该文件夹→属性→安全,添加IIS_IUSRS和NETWORK SERVICE账户,赋予它们「读取和执行」「列出文件夹内容」「修改」权限。 - 配置文件目录:检查
C:\Windows\System32\inetsrv\config是否完整,该目录下必须包含applicationHost.config、administration.config等核心配置文件,且权限同样要开放给上述两个账户。
2. 修复WAS服务的注册表配置
目录误删可能导致WAS的注册表路径配置失效:
- 按下
Win+R输入regedit打开注册表编辑器,导航到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS\Parameters - 检查
DefaultAppPoolsDir和ConfiguredCustomAppPoolsDir两个字符串值,确认它们的数值数据是正确的默认路径C:\inetpub\temp\appPools(如果之前自定义过路径,要改成你实际的路径)。 - 若路径错误或缺失,手动修正后,重启服务器再尝试启动WAS服务。
3. 重新注册WAS与IIS核心组件
组件注册可能因目录缺失而损坏,执行以下步骤(必须以管理员身份打开命令提示符):
- 切换到IIS组件目录:
cd %windir%\system32\inetsrv - 卸载并重新安装WAS服务:
appcmd uninstall was appcmd install was - 强制重置IIS:
iisreset /force
完成后再尝试启动Windows Process Activation Service。
4. 验证applicationHost.config备份的有效性
你已经尝试从history文件夹替换配置文件,但要确保使用的是未损坏的历史备份:
- 打开
C:\inetpub\history,找到问题发生时间点之前的备份文件(文件名格式如applicationHost.config_YYYYMMDD_HHMMSS)。 - 先备份当前
C:\Windows\System32\inetsrv\config下的applicationHost.config,再将历史备份替换进去。 - 替换完成后,检查该文件的权限,确保
NETWORK SERVICE和IIS_IUSRS拥有读取权限。
5. 解析事件日志的错误码
事件ID 5036的「数据字段」包含具体的Win32错误号,你可以通过命令提示符解析它:
net helpmsg 错误号
比如错误号是0x80070003,执行命令后会得到「系统找不到指定的路径」,此时可以针对性排查WAS服务依赖的所有目录是否存在或路径配置正确。
内容的提问来源于stack exchange,提问作者BlackCursor
相关产品推荐
相关产品推荐

