如何部署ASP.. NET MVC 4网站

本文关键字:NET MVC 网站 ASP 何部署 部署 | 更新日期: 2023-09-27 18:08:11

我有一个ASP。. NET MVC 4应用程序,我想把它部署在IIS 8上。我在互联网上读到,通过创建一个包并发布它,可以直接通过VS 2010/2013做到这一点,但我想用IIS管理器部署它。我尝试手动执行以下步骤:

  1. 右键单击"站点"(IIS管理器的左面板)>添加网站。
  2. 指定我的项目的物理路径(我把它放在C:),给出一个端口号(这里是3500)和一个url名称(例如,www.abc.net(或。com))。
  3. 点击确定,我的网站出现在左侧面板。

当我用Chrome浏览器启动我的网站时,浏览器说他无法访问http://www.abc.net:3500

我在这里做错了什么?我应该怎么做来部署我的MVC网站没有Visual Studio?

编辑:通过关注Imran的第一个链接,我似乎向前迈出了一步。然而,不是访问我的应用程序的索引页,这是浏览器显示的:

我的项目文件夹列表

我应该在我的routecconfig中配置一些东西吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace AstellasSchedulerV2 {
    public class RouteConfig {
        public static void RegisterRoutes(RouteCollection routes) {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");
            routes.MapRoute(
                name: "Default", // Route name
                url: "{controller}/{action}/{id}", // URL with parameters
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
        }
    }
}

如何部署ASP.. NET MVC 4网站

您可以使用Visual Studio创建一个部署包,方法是进入Build> Publish {project name}并按照向导操作。

IIS点击一个网站,应该有一个选项导入应用程序下的部署菜单。如果你没有看到这个,那么你需要将WebDeploy模块安装到IIS中。

或者,如果您仍在开发您的解决方案,您可以通过转到项目的Properties> Web并选择 use Local IIS Web server来配置Visual Studio以使用您的IIS安装。当你运行你的应用程序时,它会自动复制构建到你的默认网站,并从那里运行它。

不知道你做错了什么。检查日志。建立一个网站。配置,用于在本地和/或远程访问站点以进行调试时显示错误。你的问题就像"我有一辆车。这行不通。怎么了?".

一旦在web中启用远程调试。你应该看到一个正确的错误信息。

http://technet.microsoft.com/en-us/library/bb684665.aspx

告诉设置是:

将customErrors模式属性从"RemoteOnly"改为"Off",然后保存文件。

,然后你应该看到更多的"Error 500"。这是你的工作;)

请逐步参考以下文章

IIS 8.0使用ASP。. NET 3.5和ASP。NET 4.5

ASP。. NET Web部署使用Visual Studio:部署到测试

编辑

正确发布你的网站代码,然后尝试下面

1)请在global.asax中检查以下配置。

RouteConfig.RegisterRoutes(RouteTable.Routes);
2)你的路由配置应该是
 routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "your default controller", action = "index", id = UrlParameter.Optional }
            );

3)在IIS 8.0中禁用目录浏览