我在寻找符合我们要求的支持 Ruby 网络服务器的 Rack 时遇到了问题。我们已经编码的是使用 Sinatra,所以这就是我们的目标是运行。
网络服务必须:
- 在 JRuby 中运行
- 支持SSL
- 支持文件流。内存效率比性能重要得多。
- 多平台(Windows 和 Linux 风格)
- 尽可能轻量级——链接回内存效率
我们目前正在使用 WEBrick,但它无法处理流式传输,因此我们正在寻找替代方案。我一直在环顾四周,但我很难找到关于各种 Rack 网络服务器可以做什么和不能做什么的文档。我看过的服务是:
- WEBrick - 不支持流媒体
- Thin - 依赖于 C 代码,因此不能在 JRuby 中运行
- Passenger - 同上 Thin(C 代码)
- Unicorn - 同上 Thin(C 代码)
我们知道它可以部署为 J2EE 容器,但由于这需要随它一起分发容器,如果可以避免的话,我们宁愿不采用这种方法(因为这将是一个更重的解决方案).
在此先感谢人们提供的任何帮助。
最佳答案
是否Puma满足你的要求?它支持 JRuby、SSL、Windows + Linux,并标榜自己是轻量级的。恐怕我没有尝试过,也不知道它是否流式传输文件。
关于ssl - 在 JRuby 中运行并支持 SSL 和流式传输的 Rack 支持网络服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22763753/