灵感来自旧 Hacker News 对话关于这个网站,我想知道:
Ubuntu 和 Mono 可以运行像 Ask Ubuntu 这样的 ASP.NET MVC 网站吗?
这里的重点是技术而不是网站。您能否用免费和开源技术替换 IIS、ASP.NET、MVC 等,而无需完全重新开发网站?
奥利的笔记: 这元-讨论(即:Ask Ubuntu 是否会迁移到 Ubuntu+Mono?)已移至网站元部分的一个单独问题
答案1
我没有 Ask Ubuntu 的代码库,所以我不能说是否有任何特定于平台的东西会导致阻止,但在回答你能迁移它吗,答案可能是是的。
您必须记住,ASP.NET 网站所依赖的平台不仅仅是一个神奇的 ASP.NET 二进制文件:
ASP.NET 在很大程度上可以被 Mono 取代。它并不总是很漂亮,性能也不总是很好,但这是可以做到的。
ASP.NET MVC 是模板引擎。它通常位于 ASP.NET 之上,但它可以在 Mono 上运行有一些变化。
可以相当简单地删除 IIS,允许在其上运行自定义处理程序,并用 Apache(等)替换它。
从技术上讲,数据库是整体中最大的部分。在简单的情况下,如果您使用的是好的代码,当然可以。删除数据库并替换它。具体来说,运行 StackExchange 站点的 MSSQL 服务器集群安排可能可以移植到 MySQL(或其他),但它可能需要大量工作,因为可能有相当一部分特定于 DB 的代码潜伏在数据库本身或(不太可能)站点本身中。由于 LINQ,大多数基于代码、特定于数据库的数据处理已成为过去,Mono 也支持 LINQ(对于非 SQL Server 数据库也是如此)。
这绝不是一个需要替换的明确清单,但它们是主要项目。
你是否愿意……这是一个更难回答的问题。当你解决了几十个问题之后,你可能已经到了可以用 Django 之类的东西重新实现系统的地步。当然这取决于系统的复杂性。它就像一根绳子一样难。