当前位置: 首页 > 网络学院 >

从一个简单的ASP.NET 5站点开启.NET跨平台之旅

新客网 XKER.COM 时间:2015-06-30 09:45:55来源:博客园  评论:

 

在经历了阿里云上“黑色1秒”的空欢喜之后,我们“被迫”考虑实现.NET的跨平台,将Web服务器由Windows换成Linux。而这种“被迫”在一个存在已久的愿望下,变得水到渠成。这个愿望就是 —— “Mac上写.NET程序,Linux上跑.NET程序”。

既然水也到了,渠也成了,那我们还等什么,动身起程吧。

今天我们以我们迈出的第一步——一个部署在Linux上基于dnx/corefx/coreclr的非常简单的ASP.NET 5/MVC 6站点——宣布“.NET跨平台之旅”开启了!

这个基于跨平台.NET的站点已经上线,访问网址:http://about.cnblogs.com/

该站点部署在CentOS服务器上(部署步骤),服务器上只安装了dnx,没有安装mono,所以是完全基于.NET Core运行。后端Web服务器用的是Kestrel,也是目前跨平台.NET在非Windows平台上唯一能用的Web服务器。

CentOS服务器上运行情况如下:

[root@about-server AboutUs]# dnx . kestrel
Started

前端Web服务器用的是阿里云SLB(负载均衡),如果不用SLB,可以直接在CentOS上用nginx做反向代理。为什么要用前端Web服务器?因为Kestrel Web服务器实在太简陋了,连keep-alive与http compression的功能都没有。

该站点的ASP.NET 5程序是在Ubuntu服务器上用vim进行开发的。

项目文件结构如下:

  1. ├── Controllers 
  2. │   ├── AboutController.cs 
  3. │   └── HomeController.cs 
  4. ├── Extensions 
  5. │   └── HtmlHelperExtensions.cs 
  6. ├── project.json 
  7. ├── project.lock.json 
  8. ├── Startup.cs 
  9. ├── Views 
  10. │   ├── About 
  11. │   │   ├── Ad.cshtml 
  12. │   │   ├── Contact.cshtml 
  13. │   │   ├── Intro.cshtml 
  14. │   │   └── Job.cshtml 
  15. │   ├── Shared 
  16. │   │   └── _Layout.cshtml 
  17. │   └── _ViewStart.cshtml 
  18. └── wwwroot 
  19.     ├── images 
  20.     │   ├── about_cnbogs.gif 
  21.     │   ├── icon_arrow.gif 
  22.     │   └── icon_triangle.gif 
  23.     └── styles 
  24.         └── about.css 

project.json文件中的配置:

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)