我一直在摆弄vNext,让示例项目运行起来.我创建了一个Ubuntu VM,安装了所需的软件包,并使用k run(控制台应用程序)和k kestrel(MVC app)运行它.
现在,进入下一步:在专用的Web服务器上运行多个项目. Kestrel(至少现在)只是一个用于vNext的简单开发Web服务器.它将发展成为一个成熟的网络服务器似乎很小.
因此,我想让这个东西在Apache上运行.我想mod-mono会在某个地方发挥作用.但是,目前我认为它还不支持最新的vNext框架.另一方面,我想我们需要在某个地方使用KRE.
有消息说我们很快就会在Apache上运行ASP.NET项目吗?有人设法做到了吗?
我对跨平台.NET应用程序的想法非常着迷.我现在的雇主在使用跨平台和开源软件的项目上投入了大量资金.我想提前获得一些知识,并尝试完全迁移到Linux Web服务器而不是Windows服务器.
谢谢!
解决方法
我很高兴看到有很多人试图在Windows环境之外运行vnext并运行:)
当然你对红隼是正确的.它可能最终会像一个简单的Web服务器一样,就像它现在在node.js Hello World教程中一样.您可以尝试将其用作生产环境,方法是在Web服务器的后台Running K Kestrel in the background中运行它,然后通过Apache代理将请求传递给kestrel
代理对kestrel的请求的VirtualHost示例在*: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>
但我不推荐以上解决方案. kestrel存在一些问题,阻止您在tty之外发送输出,因此无法在启动时使用启动脚本运行它.所以只要您的服务器保持在线状态,您启动的网站就会持续下去:)
我建议使用Docker.它是Microsoft支持的ASP.NET包装器.你可以在这个阶段更好地利用它.
这是更多信息