我有asp.net应用程序,只是为了这篇文章的目的而被替换为默认的MVC 6项目。我正在尝试决定是否将其部署到我的Linux Debian 8.2 Jessie Server(首选)或Windows Server 2008 R2 IIS 7.
就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服务器提供给浏览器。有什么建议吗?