5

我正在尝试决定为新的基于 Web 的后台系统使用什么堆栈。我们使用 C# 进行开发,并将使用 ServiceStack 和/或 ASP.NET MVC。我们的客户更喜欢在 Linux 服务器上托管,因此这排除了 MVC4,因为 Mono 不支持它。

此外,由于类似https://serverfault.com/questions/330298/stopping-fastcgi-mono-server-gracefully-website的帖子,我们担心在 Mono 上运行 ASP.NET 所需的 mono-fastcgi-server 的状态-content-updating-with-no-need-t并且因为我们发现很难找到有关项目状态的相关和最新信息。因此,我们也犹豫在单声道上使用 MVC3。

现在我们正在考虑使用托管在后面的控制台应用程序和 NGINX 反向代理中的 ServiceStack(带有新的 Razor 视图!)。这似乎工作正常,ServiceStack 文档表明这是一个可行的解决方案。但是单声道呢?它对于严肃的生产站点和服务是否足够稳定,垃圾收集器是否性能良好等?有没有人有在单声道上托管繁忙的服务器应用程序(使用 httplistener 的控制台应用程序)的最新经验 - 如果是这样,它是如何工作的,你会推荐它吗?你用的是什么版本的单声道?

我们的替代方案是强制我们的客户接受 Windows 服务器,然后我们将使用服务堆栈或 mvc4 与服务堆栈相结合。

总而言之,您会做什么/考虑什么?您在单声道上托管服务器应用程序的经验是什么?

4

1 回答 1

8

ServiceStack.net 一直在 Linux/Mono 上运行

请注意,在servicestack.net上托管的所有实时演示都在 Ubuntu linux vServer 上运行。servicestack.net 多年来一直托管在 Linux/Mono 上,事实上,在从 hetzner 迁移到 Ubuntu vServer之前,我们的旧CentOS 服务器的正常运行时间为 480 天。我们认为 Mono 是一个越来越重要的支持平台,因为我们预计纯 linux 云的出现将成为一项重要的竞争优势,因为它允许您以0 美元的软件许可成本进行扩展。

使用 VS.NET 在 Windows 上开发并部署到 Mono/Linux

对于所有 ServiceStack 现场演示,我们使用 VS.NET 在 Windows 上开发,但我们在 Linux 上进行 git-deploy 和构建和托管。正如我们的发行说明中所述,我们特别注意支持 Mono 作为一等公民,我们尽可能地应用规范化行为,因此移植现有的 IIS/ASP.NET 站点仍然是微不足道的(即您应该能够复制和运行二进制文件原样!) - 这扩展到我们采用的外部依赖项,这些依赖项受到它们对 Mono 的支持的影响。

包括 Razor Live 演示在内的所有演示都托管在 Mono/Linux 上

所有 ServiceStack 演示都托管在 Linux 上,这包括Razor 示例,该示例在 Mono 上部署和托管了 2 个版本,即

您可能想查看这个问题,了解在 Linux 上托管 ServiceStack的不同方法。

于 2012-09-23T21:28:21.963 回答