Apache webserver上的vNext

Nul*_*ius 8 asp.net .net-core dnx asp.net-core

我一直在摆弄vNext,让示例项目运行起来.我创建了一个Ubuntu VM,安装了所需的软件包并使用k run(控制台应用程序)和k kestrel(MVC应用程序)运行它.

现在,进入下一步:在专用的Web服务器上运行多个项目.Kestrel(至少现在)只是一个用于vNext的简单开发网络服务器.它将发展成为一个成熟的网络服务器似乎很小.

因此,我想让事情在Apache上运行.我想mod-mono会在某个地方发挥作用.但是,目前我认为它还不支持最新的vNext框架.另一方面,我想我们需要在某个地方使用KRE.

有消息说我们很快就会在Apache上运行ASP.NET项目吗?有人设法做到了吗?

我对跨平台.NET应用程序的想法非常着迷.我现在的雇主在使用跨平台和开源软件的项目上投入了大量资金.我想提前获得一些知识,并尝试完全迁移到Linux Web服务器而不是Windows服务器.

谢谢!

Nie*_*weł 3

我很高兴看到我们中有很多人尝试在 Windows 环境之外启动并运行 vnext:)

当然,你对红隼的看法是对的。它最终可能会成为一个简单的 Web 服务器,就像它现在在 Node.js Hello World 教程中的工作方式一样。您可以尝试将其用作生产环境,方法是在后台运行它在 Web 服务器上的后台运行 K Kestrel,然后通过 Apache Proxy 将请求传递给 kestrel

VirtualHost 代理对 kestrel 请求的示例于 *:5004 开始

<VirtualHost *:80>
ServerName example.com:80

ProxyRequests On

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPreserveHost Off

ProxyPass / http://localhost:5004
ProxyPassReverse / http://localhost:5004

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但我不推荐上述解决方案。kestrel 存在一些问题,会阻止您向 tty 外部发送输出,因此您无法在启动时使用启动脚本运行它。因此,只要您的服务器保持在线,您启动的网站就会持续存在:)

我推荐的是使用 Docker。它是 Microsoft 支持的 ASP.NET 的包装器。在这个阶段你可以更好地利用它。

这里有更多信息

http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx