Rails Rails API 服务器选择

mingmingpao · 2015年05月25日 · 最后由 nickcen 回复于 2015年05月28日 · 2853 次阅读

我现在在用Rails作后端API服务器, 仅仅是提供数据服务接口, 没有任何页面渲染. 这种情况下应该选择何种服务器架构我的Rails应用呢?

我想Unicorn是不是就够用了. 我看到网上有推荐Nginx -> Unicorn的方式. 我对Nginx不是很了解, 不清楚Nginx在这当中起了什么作用. 我这边仅仅提供API服务, 不提供静态页面. 暂时呢, 也不考虑负载均衡.

谢谢各位了.

补充: 我现在又遇到个问题了, 发现在局域网里试rails的时候, 不能在别的机器上通过ip:port访问, 不知为什么

共收到 11 条回复

puma/unicorn/passenger/thin 其实用了再说吧。提前预测是好事。

即使你没有静态页面需要nginx传输,也最好放一个真正的Web Server在前面,比如Nginx。 最基本的,Nginx提供的日志能力用起来就比较方便,还有响应压缩等等,这些事情让nginx做都比unicorn好。如果你的ip地址和端口有限,再有其他的应用或者服务需要部署的时候也能用nginx进行分发。

虽然多串一个东西确实多一分麻烦和多一丝出故障的可能,但Nginx是很通用的东西了,安装使用差不多都标准化了,消耗资源也不多可靠性更没话讲,带来的好处远远超过麻烦。

简单的选择就是用rainbows + Grape。

Nginx 可以挡慢链接,Unicorn 不能直接对外。

如果前面没有 Nginx 处理,Unicorn 会被很多恶意非恶意的连接搞得生活不能自理。 此外 Nginx 还帮你处理静态资源,这部分就完全不占用 Unicorn 的处理时间了。 当然,还是更多非常有用的功能,就不一一说了。

用passenger吧

先说说预估是要处理多大的请求量吧

#8楼 @nickcen 一天也就几百吧

#6楼 @kikyous 看了一下,官网比Unicorn漂亮

#9楼 @mingmingpao 如果是这个数量级,我觉得用哪个服务器都关系不大。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册