【问题标题】:How to Deploy an ASP.NET MVC Application onto Windows Server 2008 IIS 7.5?如何在 Windows Server 2008 IIS 7.5 上部署 ASP.NET MVC 应用程序?
【发布时间】:2012-02-10 15:54:07
【问题描述】:

我已经构建了一个 MVC 3 应用程序,并且我有一个安装了 IIS 7.5 的 Web Server 2008。

在 IIS 中,我创建了一个新站点,并在其下创建了一个应用程序,然后我在该应用程序文件夹中部署了所有物理文件:

C:\inetpub\wwwroot\DeveloperToolsPortal\Application 

我还配置了我的应用程序池,使其支持 .NET 4。我还从 asp.net/mvc3 网站下载了此服务器上的 MVC3。

当我使用 {0} url 从 IIS 浏览此应用程序时,我收到 {1} 错误消息:

{0}: http://localhost:85/Application/Home/Index
{1}: HTTP 500 Internal Server Error

站点配置为使用端口 85,因为 80 已被另一个站点占用。

我还在 web.config 文件中添加了以下配置:

  <system.webServer>
       <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true"/>
  </system.webServer>
<customErrors mode="Off"/>

为什么会出现此错误?我该如何解决?我在配置应用程序时遗漏了哪些步骤?

我还尝试了另一件事。我在我的应用程序下添加了一个简单的 .htm 文件并尝试通过 IIS 打开它,它给了我以下错误:

Internet Explorer cannot display the webpage

我猜我的 IIS 有问题?!

【问题讨论】:

  • 服务器事件查看器将在应用程序日志中显示异常详细信息。
  • 它应该链接到 /Views/Home/Index 吗?我认为链接应该是localhost:85/Application/Home
  • @jao,你是对的;更新。但结果相同。
  • @jrummell,事件查看器似乎没有记录任何有关 IIS 错误的信息。

标签: asp.net-mvc asp.net-mvc-3 iis deployment


【解决方案1】:

不要放在 C:\inetpub\wwwroot 的子目录中

问题在于,默认情况下,C:\inetpub\wwwroot 中有一个 web.config 文件,IIS 将从该文件中读取,即使您的站点并不直接位于该目录中。

您可以在 C:\inetpub 中创建另一个文件夹并将您的网站放入其中。

此外,您可以让多个站点使用相同的端口运行,但使用不同的主机标头。

【讨论】:

  • 我把它移了出来,结果一样。我还在那里放了一个 html 文件,它显示“Internet Explorer 无法显示网页”!
  • 尝试更改应用程序池正在使用的身份,并确保它有权访问您网站的目录以及C:\Windows\Temp
  • 您可以将您的网站放在C:\inetpub\wwwroot 的子文件夹中,但是您必须小心,因为那里的web.config 文件会影响子文件夹。但是,您可以使用特定于应用程序的 web.config 文件覆盖它们。
【解决方案2】:

出于好奇,85 端口是从哪里来的?试着去掉它(HTTP 的默认端口是 80)。此外,请查看应用程序错误日志以获取有关错误的其他信息。您还可以设置 web.config 的一部分,以便显示详细的错误消息(不应为生产设置)。

<customErrors mode="Off">
</customErrors>

【讨论】:

  • 更新,它只是用于我在 IIS 中的站点的端口。我已经关闭了 customErrors;没有区别。
【解决方案3】:

我使用服务器管理器向我的 IIS 添加了更多功能/服务,并使用 aspnet_regiis -ir 向其注册了 asp.net,此错误已解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多