IIS无法启动,显示“服务并未即使响应启动或控制请求”,我用两种办法都没有解决:
1、把IIS卸载重装也不行;
2、到服务中world wide web publishing服务也不能启动,提示127错误,依存服务都启动了也不行。

于是就没办法了,几个星期也没有调试站点。今天上网查了一下找到了一个看上去有些道理的解决的方法:

呵呵,我也遇此问题,怀疑是补丁造成的,由于我们都是在下午打的补丁,然后晚上出问题还原后第一件事是查看IIS没问题,确定没问题后就又打补丁,然后IIS又出问题。
我查过了是这个WindowsXP-KB939373-x86-CHS.exe补丁,好像是阻止iis远程代码运行什么的补丁。就是近期刚刚出现的,大面积出现这个问题都是在2007年7月10号以后。
解决:到控制面板-加入�/删除程序,点击最上边的“显示更新”,找到“windows xp 软件更新”,卸载掉7月10号以后的几个补丁,World Wide Web Publishing服务便能启动了。
(注意:卸载的前提是,c盘windows目录下以$开头$结尾的目录没有删除掉)

网上其它原因和解决的方法:

1、防火墙规则限制了。
系 统环境是:Windowsxp sp2, IIS5.1。进程无法启动,这时候当然看看防火墙或是杀毒软件有没有相关的进程,"World Wide Web Publishing"的可运行文件是"inetinfo.exe",在瑞星防火墙訪问规则里找到"inetinfo.exe"訪问规则设为全部放行。再 次启动"World Wide Web Publishing",然后再启动IIS,一切OK。

2、没有使用管理员连接。
系统环境:Windowsxp+sp2,II5.0
故障现象:上午把IIS服务停止以后,程序长时间没响应,通过任务管理器关闭,启动时提示“服务没有及时响应启动或控制请求”,重新启动计算机未能解决。
解决的方法:在Internet信息服务下有本地计算机(计算机机名),单击名键,选择断开,提示确实要断开本地计算机(计算机机名)吗?选择确定。
右键单击Internet,选择连接,计算机名填本机名称,username填本机管理员帐号(Administrator),确定。

3、依存服务没有启动。
昨 天就发现了公司我用这台电脑的IIS启动不了,今天早上试着解决它,才发现问题并不简单。找呀找呀找呀,发现 "WorldWideWebPublishing"关闭了,启动也提示启动失败。静下心来,再看看其它关闭了的服务,有一项Eventlog把它启动了, 再启动WorldWideWebPublishing成功。问题就在这里。
尽管“WorldWideWebPublishing”服务和 SMTP服务的依存关系列表中没有提到“eventlog”服务,但“eventlog”服务不启动的话,就会出现上述问题。启动“eventlog”服 务,然后启动“WorldWideWebPublishing”服务,上述问题消失。
于是查看World Wide Web Publishing Services所须要依赖的服务(Dependencies),看到是IIS Admin Service。进而发现IIS Admin Service也无法启动,再查IIS Admin Service的Dependencies,查的结果是Protected Storage和RPC(Remote Procedure Call),于是启动RPC,接着顺利启动IIS Admin Service,接着启动World Wide Web Publishing Services,于是IIS恢复正常。

4、IIS元数据库可能坏了。
測试一下。
Try to enumerate metabase:
1. Open a command prompt and change to the C:/Inetpub/Adminscripts folder.
2. At the command line, type "cscript adsutil.vbs enum " (without the
quotation marks).
If this command is successful, it enumerates the settings in the
metabase.
If the command is not successful, you receive the -2146893792
(0x80090020) error code.
假如有备份,把数据回复。
假设没有,參考
How to Manually Restore the Metabase When No Proper Backup Exists or When
the MMC Does Not Start
http://support.microsoft.com/?id=234429
HOW TO: Download, Install, and Remove the IIS MetaEdit 2.2 Utility
http://support.microsoft.com/?id=232068

有可能是Metabase.bin 或者元数据库坏了,解决的方法參考例如以下
有关怎样使用 MMC 备份和还原元数据库的信息,请參见 IIS 自述文件,该文件位于 http://localhost/iishelp/iis/htm/core/iisread.htm#general(假设本地计算机上已安装产品文档)。
假设由 MMC 创建的备份文件可用
下面内容为程序代码:

如 果已使用 MMC 中的“备份”操作创建了一个备份文件 (FileName.mdBackupNumber),但由于当前的元数据库已损坏而无法打开 MMC,请运行下面的步骤,以便手动从 FileName.mdBackupNumber 文件里还原该元数据库。 1. 停止全部 IIS 服务及其它依赖于 IIS 的服务(比如,第三方应用程序或 Microsoft Site Server)。

注意:要停止 IIS 及其依赖服务,请使用 NET STOP IISADMIN /Y 命令。有关其它信息,请參见下面 Microsoft 知识库文章:
236166 (http://support.microsoft.com/kb/236166/) 使用 NET STOP 和 NET START 命令强制 IIS 服务又一次读取注冊表
2. 使用一个新名称(如 Metabase.bad)重命名已损坏的元数据库文件 Metabase.bin。该文件位于 %SystemRoot%/System32/Inetsrv 目录中。
3. 将位于 %SystemRoot%/System32/Inetsrv/Metaback 目录中的 MMC 备份元数据库文件 FileName.mdBackupNumber 拷贝到 %SystemRoot%/System32/Inetsrv 目录中。将该文件重命名为 Metabase.bin。
4. 又一次启动计算机。

假设存在 Metabase.bin 文件的旧副本

如 果由 MMC 创建的备份文件不可用,但在其它位置(通常在系统磁带备份中)存在 Metabase.bin 文件的旧副本,请运行下面步骤: 1. 停止全部 IIS 服务及其它依赖于 IIS 的服务(比如,第三方应用程序或 Microsoft Site Server)。

注意:要停止 IIS 及其依赖服务,请使用 NET STOP IISADMIN /Y 命令。有关其它信息,请參见下面 Microsoft 知识库文章:
236166 (http://support.microsoft.com/kb/236166/) 使用 NET STOP 和 NET START 命令强制 IIS 服务又一次读取注冊表
2. 使用一个新名称(如 Metabase.bad)重命名已损坏的元数据库文件 Metabase.bin。该文件位于 %SystemRoot%/System32/Inetsrv 目录中。
3. 将 Metabase.bin 文件的旧副本拷贝到 %SystemRoot%/System32/Inetsrv 目录中。
4. 又一次启动计算机。

假设不存在 MMC 备份或 Metabase.bin 文件的旧副本

假设由 MMC 创建的备份文件不可用,且不存在 Metabase.bin 文件的旧副本,那么元数据库的暂时备份可能依旧存在。

在通过 MMC 或其它进程更新元数据库时,可能会创建元数据库的暂时备份。假设更新过程被中断(原因可能是在第一个位置中有损坏),则该暂时文件有可能依旧存在。

可 将该暂时文件命名为 Metabase.bak 或 Metabase.bin.bak,并放到 %SystemRoot%/System32/Inetsrv 目录中。假设存在该暂时文件,请运行下面步骤,以尝试还原元数据库: 1. 停止全部 IIS 服务及其它依赖于 IIS 的服务(比如,第三方应用程序或 Microsoft Site Server)。

注意:要停止 IIS 及其依赖服务,请使用 NET STOP IISADMIN /Y 命令。有关其它信息,请參见下面 Microsoft 知识库文章:
236166 (http://support.microsoft.com/kb/236166/) 使用 NET STOP 和 NET START 命令强制 IIS 服务又一次读取注冊表
2. 使用一个新名称(如 Metabase.bad)重命名已损坏的元数据库文件 Metabase.bin。该文件位于 %SystemRoot%/System32/Inetsrv 目录中。
3. 将暂时备份文件(Metabase.bak 或 Metabase.bin.bak)重命名为 Metabase.bin。
4. 又一次启动计算机。

假设不存在元数据库备份文件

假设没有可用于元数据库的备份文件,则还原 IIS 功能的唯一方法是完毕下面操作。但请注意,存储在元数据库中的全部 IIS 设置都将丢失。 1. 卸载 Windows NT Option Pack。有关其它信息,请參见下面 Microsoft 知识库文章:
187870 (http://support.microsoft.com/kb/187870/) 怎样删除和又一次安装 Windows NT 4.0 Option Pack
2. 卸载 Internet Explorer。
3. 从 %SystemRoot/System32/Inetsrv/ 目录中删除 Metabase.bin 文件。
4. 安装 Internet Explorer。
5. 安装 Windows NT Option Pack。
(c) Microsoft Corporation 2000,保留全部权利。由 Microsoft Corporation 的 Kevin Zollman 提供。  

IIS无法启动问题的解决的更多相关文章

  1. 解决IIS无法启动w3svc

    1>:首先在CMD命令行中输入:fsutil resource setautoreset true c:\ 2>:然后在运行services.msc 3>:找到Windows Pro ...

  2. “无法启动IIS Express Web服务器”的解决办法

    “无法启动IIS Express Web服务器”的解决办法 听语音 原创 | 浏览:259 | 更新:2019-07-15 13:02 1 2 3 4 5 6 7 分步阅读 在使用visual stu ...

  3. 集群重启后启动ambari-server访问Web页面无法启动集群解决

    集群重启后启动ambari-server访问Web页面无法启动集群解决 使用ambari部署的集群重新启动后,必须手动重启ambari-server和所有集群主机上的ambari-agent. amb ...

  4. Java Tomcat 启动失败的解决思路

    好久没写新博文了,离自己要求的每年几篇的目标也是渐行渐远. 最近在学习Java,也是从基础学习,因为我是一个.net开发人员,所以学习的成本相对低些.Java JDK,JRE,Tomact 的安装及配 ...

  5. 利用IIS部署WEB网站以及解决CSS/JS不能显示问题

    利用IIS部署WEB网站以及解决CSS/JS不能显示问题 转载声明:http://blog.sina.com.cn/s/blog_a001e5980101b4kt.html vs中正常IIS发布网站后 ...

  6. IIS的启动与停止命令

    IIS的启动与停止命令 IIS启动 net start w3svc IIS停止 net stop iisreset DOS下IIS服务命令: 可以通过iisreset /?命令来查看 iisreset ...

  7. 在Windows2008下安装SQL Server 2005无法启动服务的解决办法

    在Windows2012下安装SQL Server 2005无法启动服务的解决办法 1.正常安装任一版本的SQL Server 2005. 2.安装到SqlServer服务的时候提示启动服务失败  此 ...

  8. MySQL程序端启动密码错误解决方法

    MySQL程序端启动密码错误解决方法 一般启动MySQL程序端,都是用mysql -uroot -p命令,当然前提是你的环境变量已经配好了. 为了连接服务器,当调用mysql时,通常需要提供一个MyS ...

  9. 【ELK】【docker】6.Elasticsearch 集群启动多节点 + 解决ES节点集群状态为yellow

    本章其实是ELK第二章的插入章节. 本章ES集群的多节点是docker启动在同一个虚拟机上 ====================================================== ...

随机推荐

  1. C#线程 访问资源同步简介

    在多线程应用(一个或多个处理器)的计算中会使用到同步这个词.实际上,这些应用程序的特点就是它们拥有多个执行单元,而这些单元在访问资源的时候可能会发生冲突.线程间会共享同步对象,而同步对象的目的在于能够 ...

  2. 'swap file "xx" exists' linux

    solution: 1)swap to another tty, kill processes using 'sudo kill -9 pid' 2)'Recover' the 'warn-openn ...

  3. MSSQL 字符串替换语句

    MSSQL替换语句:update 表名 set 字段名=replace(cast(字段名 as varchar(8000)),'abc.com','123.com')例如:update PE_Arti ...

  4. Linux下安装Oracle 10g(redhat 4)

    --注:本篇文章只装Oracle,并没有建库 一:在虚拟机里装个readhat 4系统 二:配IP 配好之后的IP如下: 三:建用户组,用户 注意:oracle用户应具有相同的uid. groupad ...

  5. Swift和OC混编时, 关于@objc的作用

    Objective-C 和 Swift 在底层使用的是两套完全不同的机制,Cocoa 中的 Objective-C 对象是基于运行时的,它从骨子里遵循了 KVC (Key-Value Coding,通 ...

  6. 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中

    背景:   昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...

  7. Java 的简单了解

    本文是主要根据百度百科以网上一些资料,整理的一点对Java的浅显的了解,不当之处,还请大家批评指正. 最初见到Java这个单词,是在以前的手机上,游戏启动时总会显示java的图标和名字,就感觉java ...

  8. php开发通用采集程序

    php采集程序构建基本步骤: 采集程序是什么?获取远程数据(文字.图片.图片)并快速保存到本地或指定地址. 如天气预报(小偷程序): 远程获取-->替换内容-->展示给用户 如实时更新的新 ...

  9. Java Tomcat 中调用.net DLL的方法

    近日一个java的项目,客户要求项目中必须使用其提供的加密机制,扔给了两个.net写的DLL.网络上搜了一圈也没找到啥东西,甚至看到人扬言此事绝无可能.郁闷当中考虑了一个思路.用C#做一个Com,调用 ...

  10. iOS开发——C篇&文件操作

    今天开始C语言中的重点难点就基本上技术忘了,但是还有最后一个知识点不得不提,那就是文件操作. 我们都知道,我们每天都在使用电脑,手机,或者其他电子或者移动设备,其实我们在使用的时候每时每刻都在执行文件 ...