建议可以优先看下这篇文档https://cloud.tencent.com/developer/article/1930340 。
下面这个case是在2008R2上的,对≥2012R2的系统可能没有参考价值。
问题描述:
2008R2运行inetmgr打开IIS管理器启动站点时报错如下
排查步骤:
由于是我自己的测试机,不知道咋搞坏的,就不讲究章法了,咋快咋来
1、iisreset
命令行执行iisreset报错:IIS 服务或万维网发布服务,或者依赖这两种服务的某个服务未能启动。该服务或所依赖的服务可能在启动期间发生错误或者已禁用。
查看报错相关的2个服务如下
启动WAS报错
2、aspnet_regiis -i
重新注册iis后,Windows ProcessActivation Service(WAS)服务和World Wide Web Publishing Service(W3SVC)服务都是“已启动”了
如何注册iis:
mkdir C:inetpubtempapppools
C:WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_regiis -i
C:WindowsMicrosoft.NETFramework64v2.0.50727aspnet_regiis -i
C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet_regiis -i
C:WindowsMicrosoft.NETFramework64v4.0.30319aspnet_regiis -i
可是执行iisreset还是报错
3、查看依存关系
查看w3svc依赖的服务都启动了
查看WAS的依存关系,发现有3个Net.打头的服务未运行
手动挨个启动,最后只剩下Net.Msmq Listener Adapter没有启动,报错:【错误1075:服务不存在,或已被标记为删除。】
看描述:跟msmq有关
4、承上安装msmq,问题解决
powershell查询是否已安装msmq,发现没装,然后安装msmq(注意win7和2008R2上的powershell是Add-WindowsFeature,≥2012或win8的才是Install-WindowsFeature
安装上msmq后问题解决
①查询msmq未安装
C:UsersAdministrator>powershell
PS C:UsersAdministrator>
PS C:UsersAdministrator> Get-WindowsFeature -name msmq
Display Name Name
------------ ----
[ ] 消息队列 MSMQ
②安装msmq
PS C:UsersAdministrator> get-windowsfeature -name msmq|Add-WindowsFeature
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {消息队列服务器}
PS C:UsersAdministrator> exit
③cmd命令行查询NetMsmqActivator服务是关闭状态,启动之
查询
C:UsersAdministrator>sc query NetMsmqActivator
SERVICE_NAME: NetMsmqActivator
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 1 STOPPED
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
启动
C:UsersAdministrator>sc start NetMsmqActivator
SERVICE_NAME: NetMsmqActivator
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
PID : 4180
FLAGS :
重启IIS成功
C:UsersAdministrator>iisreset
正在尝试停止...
Internet 服务已成功停止
正在尝试启动...
Internet 服务已成功启动