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

HTTP错误503。业务不可用。

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

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

有人能告诉我怎么了吗?


当前回答

在我的例子中,问题是另一个应用程序正在使用我绑定到我的网站的端口。

我通过从命令行中运行以下命令找到它,其中列出了所有监听端口和涉及的可执行文件:

netstat -b

其他回答

如果您有McAfee HIPS,并且在事件查看器应用程序日志中看到以下错误:

模块DLL C:\Windows\System32\inetsrv\ hipiisengineestu . DLL加载失败。 数据就是错误。

然后McAfee.com上的这个变通方法解决了我的问题。

原文如下:

Click Start, Run, type explorer and click OK. Navigate to: %windir%\system32\inetsrv\config Open the file applicationHost.config as Administrator for editing in Notepad. Edit the <globalModules> section and remove the following line: <add name="MfeEngine" image="%windir%\System32\inetsrv\HipIISEngineStub.dll" /> Edit the <modules> section and remove the following line: <add name="MfeEngine" /> After you have finished editing the applicationHost.config file, save the file, then restart the IIS server using iisreset or by restarting the system.

实际上,在我的情况下,https://localhost是工作的,但http://localhost给出了一个HTTP 503内部服务器错误。在IIS中更改默认网站的绑定,以使用主机名localhost而不是空主机名。

Tname用于HTTP绑定

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

这可能是用户身份过时,特别是如果你尝试启动一个停止的应用程序池,而下一次请求再次失败。

在IIS中,进入服务器下的应用程序池,然后为您的网站找到正确的应用程序池,并单击它。在右侧的“高级设置”菜单中选择“身份”并修改,输入新用户和密码。再次单击应用程序池,并选择Recycle重新启动它。

您也可以尝试在“事件查看器”的“Windows日志、应用程序、详细信息”选项卡下查看错误消息。

在我的案例中,与域名相关联的应用程序池与与个别网站/应用程序相关联的应用程序池不匹配。我不知道这是怎么发生的,但一旦域名应用程序池被纠正,问题就解决了。