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

HTTP错误503。业务不可用。

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

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

有人能告诉我怎么了吗?


当前回答

对我来说,解决方案是将启用32位应用程序更改为False


没有一个答案对我有用。所以我想分享我在几个小时的研究后的发现。

一直在事件日志中看到这条消息:模块DLL C:\Windows\system32\RpcProxy\RpcProxy.dll加载失败。数据就是错误。原来dll是64位的,不能加载到32位进程中。

其他回答

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

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

我的错误是“503 1 AppOffline DefaultPool”

解决方案

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

我遇到了同样的问题,发现这是由在C:\Users中创建用户配置文件的权限问题引起的。我给了ApplicationPoolIdentity C:\Users文件夹的完全权限,启动了站点,一切正常,配置文件必须已经正确创建,并且我的站点正常工作。然后我从ApplicationPoolIdentity中删除了对C:\Users的访问权。

站点不会使用ApplicationPoolIdentity在本地启动,只有当使用NetworkService: "HTTP Error 503。该服务不可用。”

检查事件查看器- Windows -应用程序。如果在IIS-W3SVC-WP中出现红色错误行,并且消息类似于模块DLL C:\Windows\system32\inetsrv\rewrite.dll加载失败。数据就是错误。那么你就错过了一些Windows安装程序的功能。

在Windows Server 2012中,进入服务器管理器、添加角色和功能、Web服务器(IIS)并添加匹配的功能。通常,大多数应用程序开发部分都已安装。下面是IIS特性及其相关DLL的完整列表,以帮助诊断。

经过几次迭代之后,我在上面关于“重写。dll”的错误消息上结束。这导致直接下载和安装微软URL重写工具。最后,所有的网站都活了过来。

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

应用程序池“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

在我的情况下,我不得不改变我的userPass的网络,因为公司的政策。所以,你需要编辑你的appool: 单击应用程序池。选择您的池,“高级设置…”转到“流程模型”,点击“身份”,点击“特定用户”,并给出新的凭据。