【问题标题】:ASP.NET MVC Web Deploy won't override Default Web SiteASP.NET MVC Web 部署不会覆盖默认网站
【发布时间】:2018-02-01 01:01:59
【问题描述】:

我有一个相当大的 ASP.NET MVC 项目,我正在尝试将它部署到远程机器上的 Windows Server 2016 VM。部署的工作原理是我可以进入 IIS 管理器并在Default Web Site 下查看ViewsContent 等,但我无法查看网站本身。它默认为 IIS 起始页。

我之前遇到过一些web.config 错误,而我的web.config 中的<modules> 部分导致了内部500 错误。我已经注释掉了以下代码并且它停止了错误:

<modules>
  <remove name="TelemetryCorrelationHttpModule" />
  <add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" />
  <remove name="ApplicationInsightsWebTracking" />
  <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
</modules>

但现在Default Web Site 默认恢复到之前的状态,即初始 IIS 网站。这不是缓存问题,多台计算机/浏览器正在访问同一个网站。

这是Default Web Site 的屏幕截图,来自 IIS 服务器:

我对此感到困惑。至少对于内部 500 错误,我知道 我的网站 导致了问题,但这似乎覆盖了我在项目中设置的任何配置。

由于 StackOverflow 的字符限制,我不得不将我的 ApplicationHost.config 复制到 pastebin 链接中:

https://pastebin.com/0K0TDgTh

我在 ASP.NET 部署和 IIS 方面的经验仅限于今天早上,所以我不确定我在寻找什么,任何建议都将不胜感激。

【问题讨论】:

  • 您想设置域名/子域还是别名来访问您的网站?
  • 没有。该网站位于内部服务器上,尽管我的项目覆盖了 Default Web Site 中存在的文件,但仍显示默认网站。
  • 我阅读了 ApplicationHost.config,问题是这样的: 检查这些文件是否被删除从网站的根目录。不过,我在回答中写了一个小指南,这样您就可以设置您的网站而不必覆盖默认网站,希望对您有所帮助。
  • 在设置 IIS 服务器时,网络管理员没有安装 Application Development。不过,我真的很感谢你的帮助!
  • 酷!很高兴你修好了。

标签: asp.net-mvc iis


【解决方案1】:

您可以禁用它并为您的网站创建一个新的虚拟主机,而不是覆盖默认网站:

应用程序池

在自己的应用程序池中运行每个应用程序始终是一个好习惯,因此如果一个应用程序失败,它不会影响在同一服务器上运行的其他应用程序,并且它允许为每个应用程序选择不同版本的 .NET 框架应用。

要创建应用程序池,请右键单击“应用程序池”,然后单击“添加应用程序池”,填写名称并选择 .NET 框架版本。

如果您的应用程序是 32 位或包含 32 位模块,您需要启用 32 位应用程序支持,为此,请右键单击应用程序池列表中新创建的应用程序池,然后单击“高级设置”并将“启用 32 位应用程序”设置为 True:

您可能要在此处配置的其他设置是启动模式和流程模型标识,但默认设置应该可以满足您的需要。

设置您的网站

点击默认网站名称,然后点击右栏“管理网站”部分下的“停止”,停止默认网站。

然后,右键单击“站点”和“添加网站”,填写名称并选择您之前创建的应用程序池,选择您的端口(通常为 80),保持 IP 地址不变并选择物理路径您的网站。

单击“确定”并忽略有关使用与现有网站相同的端口的任何警告。您的网站现在应该从 http://localhost 启动并运行了

现在,您需要删除默认网站(右键单击,删除),或者您需要将端口更改为您已经用于新网站的 80 以外的端口,要更改端口,请右键单击默认网站然后“编辑绑定”并删除绑定或编辑它以更改端口。

网络部署

Web Deploy 可能已经为您工作,但要确保,右键单击您的网站名称,然后为新站点再次配置 Web Deploy。

【讨论】:

    猜你喜欢
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多