一般来说,我对设置web服务器真的很陌生。我已经在Windows 8上安装了iis8,我正在尝试在本地建立一个小网站,同时进行一些开发。在IIS中,我选择添加站点,给出一个名称,指向我有index.html文件的位置(我尝试过不同的位置,最新的位置在c:\inetpub\wwwroot\test -文件夹中),否则使用所有默认设置。但是,当我尝试浏览到localhost时,我得到
HTTP错误503。业务不可用。
我已经验证了池已经启动,并且在目标文件夹上赋予了IIS_IUSRS完全控制
我到处搜索,但没有找到任何解决我的问题的东西,在EventLog或C:\Windows\System32\LogFiles\HTTPERR文件夹中没有任何有用的东西
有人能告诉我怎么了吗?
如果您有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.
其他答案都可以。但就我而言,我使用的是一个Windows机器,它已经在运行一些旧的IIS、IISExpress或其他网站。发生的事情是url acl在系统中以某种方式保留。你可能想检查一下这个。
下面是转储所有URL acl的console命令:
netsh http show urlacl
检查这里返回的内容,如果有任何内容与您正在测试的url匹配,下面是删除一个url acl的命令(例如):
netsh http delete urlacl url=http://localhost:2018/
(小心注意你在这里所做的事情,以防它与原始问题无关)
如果应用程序池在你启动后立即停止,你的事件日志显示:
应用程序池“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