如何在Linux上运行ASP.Net与标准的以Microsoft为中心的解决方案相比?

ks7*_*s78 9 .net linux asp.net mono

我知道有可能使用MonoApache在Linux上开发和托管ASP.Net站点,但我想知道它的工作原理以及它是否值得麻烦?我更喜欢开源,但对于这个项目,我想要最快,最简单,最可靠的解决方案.

我将建立的网站将是一个使用MySQL的相当基本的ASP.Net网站.

我想知道是否有其他人在我这样的情况下使用Mono的经验以及项目的进展情况.它与使用以微软为中心的解决方案相比如何?

我知道Mono仍然有点不完整,但我希望我不需要它缺少的功能.

这个问题可能有点"两极分化".大多数类似的问题似乎得到了非常亲微软或亲Linux的回复.我希望能有一些不偏不倚的回应,最好是有经验的人.

yoj*_*o87 10

我在大约一年半前从以MS为中心的解决方案切换到现在我在Linux/Mono/Apache/MySQL的虚拟服务器上托管我的所有网站和Web项目(我最初使用的是nginx而不是apache,但是单声道-fastcgi-server随机引起颠簸,所以我选择apache作为web服务器).我可以将这种配置的(主观)经验总结为几点:

  • 可能需要一些时间来习惯基于Linux和MS的环境之间的区别(如果您以前从未使用过Linux),但我不会后悔这个决定.对我来说很有帮助的是为特定技术(例如单声道并行环境,apache虚拟主机配置,处理某些问题)创建安装和配置过程,这些过程通常是可重复的并且可以自动化.

  • 您仍然可以使用Visual Studio开发应用程序,然后在Linux计算机上部署它们.如果您使用这种方法,那么定期在单声道上测试您的应用程序是否存在可能的不兼容性是一个好习惯.

  • 我通过FTP部署Web应用程序,这可能是最简单的方法(也许WinSCP更容易,因为您不必设置FTP服务器,但这取决于您的偏好).

  • 到目前为止,我遇到过2个使用Mono/Apache的情况,其中内存泄漏导致网站无法使用.这可能是由我在旧单声道安装时使用的Boehm垃圾收集器造成的.我最近的单声道版本上没有类似的新sgen GC问题.

  • 与MS相比,我在Linux环境中运行单声道操作时最喜欢的是,在执行管理任务时,您无需一直点击.Shell是我的统一管理界面,可以加快速度(如果你有一些练习).

  • 我会说它是相同的,但我还没有机会用更大的流量测试它.但是,当您想要(或需要)扩展您的系统时,如果您使用MS解决方案会严重损害您的财务状况,那么这将是一个很大的不同.此外,我不喜欢受MS的OS许可证类型的CPU核心数量或RAM数量的限制,因此基于Linux(或开源)的系统在这方面非常优越. (2认同)