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

HTTP错误503。业务不可用。

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

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

有人能告诉我怎么了吗?


当前回答

其他答案都可以。但就我而言,我使用的是一个Windows机器,它已经在运行一些旧的IIS、IISExpress或其他网站。发生的事情是url acl在系统中以某种方式保留。你可能想检查一下这个。

下面是转储所有URL acl的console命令:

netsh http show urlacl

检查这里返回的内容,如果有任何内容与您正在测试的url匹配,下面是删除一个url acl的命令(例如):

netsh http delete urlacl url=http://localhost:2018/

(小心注意你在这里所做的事情,以防它与原始问题无关)

其他回答

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

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

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

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

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

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

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

检查应用程序各自的应用程序框架池-它可能被停止。如果是,启动后再检查。

如果您仍然遇到问题,还可以检查事件查看器以查找错误的原因,以便进行更多故障排除。