将ASP.NET 5 MVC 6应用程序部署到Linux& IIS 7

时间:2016-01-26 17:56:53

标签: iis debian asp.net-core-mvc

我有asp.net应用程序,只是为了这篇文章的目的而被替换为默认的MVC 6项目。我正在尝试决定是否将其部署到我的Linux Debian 8.2 Jessie Server(首选)或Windows Server 2008 R2 IIS 7.

就Linux而言,我已按照以下网站获取指示,我对如何以及在何处部署网站文件感到困惑。

Installing ASP.NET 5 On Linux

How to Install ASP.Net 5 on Ubuntu Linux

此外,我不确定我是否正在使用红隼或单声道。然后我听到Docker也在被抛出。我只需要知道在linux上托管MVC 6应用程序的最佳方式(不一定是最简单的方法)。

到目前为止IIS 7已经按照视频说明进行了ASP.NET5 MVC Deployment to IIS Web Server但是当我尝试查看网站时出现以下错误:

HTTP错误403.14 - 禁止访问 Web服务器配置为不列出此目录的内容。 最有可能原因:未为请求的URL配置默认文档,并且未在服务器上启用目录浏览。

请帮帮我或指出我正确的方向让我解决这个问题。

*****编辑*****

好的,我已经决定让它正常工作。因为我首先提出的问题是我在一些方面取得了进展。

拳头我正确安装dnx,dnu,dnvm。我能够运行dnu恢复以获取所有依赖项。我有nginx installe,它将传入的请求定向到我在project.json文件中设置的127.0.0.1:5000

project.json:

"commands": {
    "web": "Microsoft.AspNet.Server.Kestrel --server Kestrel --server.urls http://localhost:5000",
    "ef": "EntityFramework.Commands"
  },

nginx的:

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /usr/share/nginx/html;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name aspnet.dev www.aspnet.dev;

        location / {
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://127.0.0.1:5004;
        }
}

然后我导航到根文件夹和dnx web,它会显示以下内容:

托管环境:生产 现在听取:http://localhost:5000 申请开始了。按Ctrl + C关闭。

现在因为nginx使用

将请求定向到asp项目
proxy_pass http://127.0.0.1:5004 

我可以看到正在处理一些请求。

info: Microsoft.AspNet.Hosting.Internal.HostingEngine[1]
      Request starting HTTP/1.0 GET http://***.**.**.***/
info: Microsoft.AspNet.Mvc.Controllers.ControllerActionInvoker[1]
      Executing action method AspNet5.Controllers.HomeController.Index with arguments () - ModelState is Valid'
info: Microsoft.AspNet.Mvc.ViewFeatures.ViewResultExecutor[1]
      Executing ViewResult, running view at path /Views/Home/Index.cshtml.
info: Microsoft.AspNet.Mvc.Infrastructure.MvcRouteHandler[2]
      Executed action AspNet5.Controllers.HomeController.Index in 0.1468ms
info: Microsoft.AspNet.Hosting.Internal.HostingEngine[2]
      Request finished in 0.1849ms 200 text/html; charset=utf-8

但它并没有将任何html服务器提供给浏览器。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果有人对如何纠正我的问题感兴趣,请参阅此帖:Hiccups with Hosting ASP .NET 5 apps on Linux (RC1)