跨平台运行 Rafy 首次部署记录

简介:

一直想在 Linux 上使用 MONO 试试运行 Rafy,最近因为业务需要,总算是真正地试验了一次。下面是本次部署记录的一些要点。

 

Linux

这次部署,我是和两位同事一起来试验的。由于我们对 Linux 都不太熟悉(多年前曾经用过很少一段时间的 RedHat,那些命令现在也早已忘记了,哈。),所以我们三个分别测试了三个不同的镜像,最终选定了 OpenSUSE 的一个镜像。(其实,我下载了一个Ubuntu,才 800M,安装后老是有问题,不得不放弃,悲剧……)

相对于 Windows 来说,Linux 更轻量,安装很简单,安装速度也非常快。

image

 

 

ASP.NET vNext vs MONO

这两个是目前可行的 .NET 跨平台方案。我们需要快速理解两个方案,分析哪个方案的移植成本最低。

ASP.NET vNext

微软本身已经逐步支持开源了,所以我们的想法自然是尽量先用微软官方发布的跨平台方案。ASP.NET vNext(5) 目前已经发布了 RC1。但是经测试,发现整个代码构建于新的 API 之上,如果要把我们的程序移植到 vNext 之上,需要修改许多代码。所以暂时还是没有选择使用 vNext,但是长期看来,必然还是需要选择 VNext。

下面是 vNext 官网和其文档:

http://www.asp.net/vnexthttps://docs.asp.net/en/latest/index.html

下面是一些 vNext 相关的系列教程:

解读ASP.NET 5 & MVC6系列》、《ASP.NET 5系列教程》。

MONO

其实,目前来说,.NET 跨平台,大家用的比较多的还是 MONO。官网:http://www.mono-project.com/ 

MONO 可简单理解为跨平台的 .NET 平台,包括运行时、框架、工具。MONO 框架是 .NET 框架的重写版本,其 API 尽量保持与 .NET 框架一致,也支持 CLI 规范,所以上层的应用程序不需要重新编译,也可以直接运行在 MONO 上。所以直接使用 MONO 应该是成本最低的跨平台方案。

但是,MONO 并不支持完整的 .NET,例如 WPF、WWF 就没有在 MONO 上实现(详见:《兼容性对比》)。所以,我们可以使用一个工具来检测应用程序是否会有兼容性问题:“Mono Migration Analyzer”。

MONO 安装完成后,对其进行了测试,可正确运行即可:

成功安装 MONO 并测试

 

Web Server

在 Linux 在运行 MONO 可以使用 Apache、Nginx 等作为 Web 服务器,见:《 MONO ASP.NET》、《mod_mono》。另外,国人编写的 Jexus 服务器也是比较流行的,对 .NET 支持非常好,用起来很简单。所以我们选择了最简单的 Jexus 服务器,降低学习的难度。微笑

这里遇到了一个问题,Jexus 服务器使用的是 IIS 经典模式,导致网站 Web.config 中 <System.WebServer> 配置节不可用(该配置节用于 IIS 集成模式)。这里,需要把该配置节中的内容都修改到 <System.Web> 中对应的配置节即可。

 

最终运行环境

Linux(OpenSUSE)+MONO+Jexus+MVC5+Rafy+Oracle。

在上述环境中,程序总算可以运行了。

 


本文转自BloodyAngel博客园博客,原文链接:http://www.cnblogs.com/zgynhqf/p/5153189.html,如需转载请自行联系原作者

相关文章
|
3月前
|
运维 监控 测试技术
应用程序的部署与发布
应用程序的部署与发布
31 0
|
5月前
|
监控 Serverless 开发工具
函数计算产品使用问题之要确保服务能在后台持续运行,而不依赖于WebUI是否打开,该怎么操作
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
Web App开发 Java Serverless
Serverless 应用引擎操作报错合集之阿里函数计算中,使用自定义运行时部署程序时,发现Chrome层已经建立但运行程序仍然缺失如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
JSON 小程序 JavaScript
小程序云开发实现删除更新功能
小程序云开发实现删除更新功能
69 0
|
API 开发者
又又又一个小更新,主题插件上线! 开源 API 管理工具更有意思
近日 Postcat 终于上新了用户期待已久的 12 款【主题插件】!喵喵我啊,想着这下再也没有哪位用户老爷会吐槽 我们 Postcat 的主题过于简洁吧!
又又又一个小更新,主题插件上线! 开源 API 管理工具更有意思
|
存储 Oracle Ubuntu
一个在线安卓项目移植阿里云记录
将一个安卓书店项目移植到阿里云上
一个在线安卓项目移植阿里云记录
|
数据库
自然框架的源代码、Demo、数据库、配置信息管理程序下载(2011.1.7更新)
自然框架在线演示:http://demo.naturefw.com/ 目前在线演示不开放管理员账号。   自然框架的网站已经基本完成,下载就转到网站里面了,http://www.naturefw.com/down/List1.aspx 请到这里下载。
933 0
|
安全 Docker Windows
5个要点,告诉您为何要将旧版 Windows 应用程序进行现代化改造
在短短一年多的时间里,Microsoft 对 Windows Server 2008 的支持即将结束。如果没有做出适当的规划,连锁反应可能会影响您的业务。维护成本将急剧上升,而安全性和合规性风险将在没有定期补丁的情况下增加。
2586 0
下一篇
无影云桌面