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

HTTP错误503。业务不可用。

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

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

有人能告诉我怎么了吗?


当前回答

如果应用程序池在你启动后立即停止,你的事件日志显示:

应用程序池“APP_POOL_NAME”的工作进程遇到故障 错误'无法读取配置文件'试图读取配置 来自文件“\?”\',行号'0'。数据字段包含 错误代码。

... 你可能会遇到一个在Windows 10秋季创建者更新和/或. net Framework v4.7.1中引入的错误。可以通过以下解决步骤来解决,这些步骤来自对相关问题的回答无法读取配置文件“试图从文件中读取配置数据”\\?\<EMPTY>',行号'0'。

转到安装IIS的驱动器,例如。C: \ inetpub \ temp \ appPools \ 删除与应用程序池同名的目录(或虚拟目录)。 重新回收/启动应用池。

我已经通过在dotnet GitHub repo上创建以下问题向微软报告了这个错误:安装4.7.1后,IIS AppPool停止,提示“无法读取配置文件”。

EDIT

微软回应说,这是一个已知的问题,Windows安装过程中的秋季创造者更新,并记录在KB 4050891, Web应用程序返回HTTP错误503和was事件5189在Windows 10版本1709(秋季创造者更新)。那篇文章提供了下面的变通程序,与上面的类似。但是,请注意,它将回收所有应用程序池,不管它们是否受到问题的影响。

以管理员身份运行打开Windows PowerShell窗口 选择。 执行如下命令: 停止服务-Force WAS C:\inetpub\temp\appPools\* 开始营运W3SVC

其他回答

我也遇到了同样的问题,但这是IIS中实际站点设置的问题。

选择高级设置…为您的站点/应用程序,然后查看Enabled Protocols值。无论出于什么原因,我的站点的值是空白的,并导致以下错误:

HTTP错误503。业务不可用。

修复方法是添加http并选择OK。随后,网站又恢复了正常运行。

我们的服务器在周日下午耗尽了磁盘空间,导致应用程序突然失败并返回HTTP错误502。日志是空的,所以它必须是在IIS执行任何操作之前发生的事情。

快速查看事件查看器(WIN+R > eventvwr)就会发现这个问题。

将系统和应用程序窗口的输出过滤到WAS是个好主意,因为在WAS中可能会非常冗长。

应用程序依赖于另一个被禁用的应用程序。因此,请记住,如果应用程序的一个相关进程宕机,应用程序可能会间接宕机。我们只是重新启用了. net应用程序池,我们的其他应用程序又开始正常运行了。

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

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

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

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

我的错误是“503 1 AppOffline DefaultPool”

解决方案

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

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