一般来说,我对设置web服务器真的很陌生。我已经在Windows 8上安装了iis8,我正在尝试在本地建立一个小网站,同时进行一些开发。在IIS中,我选择添加站点,给出一个名称,指向我有index.html文件的位置(我尝试过不同的位置,最新的位置在c:\inetpub\wwwroot\test -文件夹中),否则使用所有默认设置。但是,当我尝试浏览到localhost时,我得到

HTTP错误503。业务不可用。

我已经验证了池已经启动,并且在目标文件夹上赋予了IIS_IUSRS完全控制

我到处搜索,但没有找到任何解决我的问题的东西,在EventLog或C:\Windows\System32\LogFiles\HTTPERR文件夹中没有任何有用的东西

有人能告诉我怎么了吗?


当前回答

在我的例子中,问题是DefaultAppPool。我把“加载用户配置文件”改为false,现在它可以工作了。然而,我不知道这是否有副作用。

关于设置LoadUserProfile选项的进一步阅读:当我设置IIS池的LoadUserProfile时,到底发生了什么?

其他回答

对我来说,DefaultAppPool无法启动,事件日志告诉我C:\Windows\System32\inetsrv\redirect.dll无法加载。

文件不见了。出现这种情况的原因是没有安装Windows特性“HTTP重定向”。检查该功能是否在Internet信息服务\万维网服务\通用HTTP功能\HTTP重定向下。如果您现在刚刚安装它,应该不需要重新启动。

对于我的案例,我的默认应用程序池处于脱机状态。

为了解决此问题,我检查了位于C:\Windows\System32\LogFile\HTTPERR.的IIS日志向下滚动到最新的错误日志,这将显示IIS的问题。

我的错误是“503 1 AppOffline DefaultPool”

解决方案

打开IIS管理器 单击应用程序池,这将列出您右边的所有应用程序池。 检查托管api或站点的应用程序池上是否有停止标志。如果是,右键单击应用程序池并单击start。 再次尝试从客户端访问您的服务

在我们的例子中,没有记录任何内容(除了503的HTTP错误日志条目),但是IIS中web应用程序的Enabled Protocols值有一个拼写错误!不是http,而是https在协议之间有一个句号:http。https

这可能是因为连接到数据库的数量。我有这样的情况,所以,写了一个去构造函数和杀死db打开连接,它解决了。

我通过删除与我的应用程序目录在IIS匹配的URL预订解决了这个问题。我有一个类似的(绝对不是相同的)问题,概述在这篇文章:

503服务不可用的一个不常见的根本原因