我知道有可能使用
Mono和
Apache在Linux上开发和托管ASP.Net站点,但我想知道它的工作原理以及它是否值得麻烦?我更喜欢开源,但对于这个项目,我想要最快,最简单,最可靠的解决方案.
我将建立的网站将是一个使用MySQL的相当基本的ASP.Net网站.
我想知道是否有其他人有像我这样的情况使用Mono的经验以及项目的进展情况.它与使用以微软为中心的解决方案相比如何?
我知道Mono仍然有些不完整,但我希望我不需要它缺少的功能.
这个问题可能有点“两极分化”.大多数类似的问题似乎得到了非常亲微软或亲Linux的回复.我希望有一些不偏不倚的回应,最好是有经验的人使用.
解决方法
我在大约一年半前从以MS为中心的解决方案切换到现在我在Linux / Mono / Apache / MysqL的虚拟服务器上托管我的所有网站和Web项目(我最初使用的是Nginx而不是apache,但是单声道-fastcgi-server随机导致
thrashing,所以我选择apache作为web服务器).我可以将这种配置的(主观)经验总结为几点:
>可能需要一些时间才能习惯基于Linux和MS的环境之间的区别(如果您以前从未使用过Linux),但我不会后悔这个决定.帮助我很多的是为特定技术(例如单声道并行环境,apache虚拟主机配置,处理某些问题)创建安装和配置过程,这些过程大多是可重复的并且可以自动化.>您仍然可以使用Visual Studio开发应用程序,然后在Linux计算机上部署它们.如果您使用这种方法,那么定期在单声道上测试您的应用程序是否存在可能的不兼容性是一个好习惯.>我通过FTP部署Web应用程序,这可能是最简单的方法(也许WinSCP更容易,因为您不必设置FTP服务器,但这取决于您的偏好).>到目前为止,我遇到过Mono / Apache的2个案例,其中内存泄漏导致网站无法使用.这可能是由我在旧单声道安装时使用的Boehm垃圾收集器引起的.我对最近版本的mono上的新sgen GC没有遇到过类似的问题.>与MS相比,我在Linux环境中运行单声道操作时最喜欢的是,在执行管理任务时,您无需一直点击. Shell是我的统一管理界面,可以加快速度(如果你有一些练习).