nginx – Varnish通常会进入Rails网络堆栈?

前端之家收集整理的这篇文章主要介绍了nginx – Varnish通常会进入Rails网络堆栈?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在Unicorn上部署了一个生产Rails应用程序,前面有Nginx用于静态文件服务.我现在需要一些Varnish的功能,我想知道如何介绍它.

有些人把Varnish放在前面而有些人把Nginx放在前面.我没有听说有人只使用Varnish和Unicorn,但我认为它是有效的.

前面有Nginx的人似乎正在为gzip和SSL终止这样做. SSL与我的应用程序无关,但gzip是.我觉得清漆很快就会出现,所以为了简单起见,我可以在一段时间内生活.

这两种方法都有其他优点/缺点吗?是否有规范的最佳实践布局?

最佳答案
Heroku(例如)可能因为你提到的原因而放了nginx in front of varnish.

所以,Nginx – >清漆 – >应用服务器.

在我的工作中,我们在所有东西(清漆 – > Nginx – > apache / wsgi)前使用Varnish,它的效果非常好.我们认为,如果有缓存命中,则从堆栈的最高点开始提供.但是有一些怪癖. VCL非常特定于其任务,因此使得Nginx可以很容易地处理重定向(例如,用于移动检测)等事情变得有点困难.一般来说,它只是不那么灵活,因为它不是它的意图.

一般来说,根据我的阅读(并根据我的工作经验),最好将Nginx放在堆栈前面,并在它和你的app服务器之间涂上清漆.

使用Unicorn时这种方法的一个缺点是你将无法使用unix socket方法Nginx和unicorn,因为你必须在两者之间点击清漆,而varnish不支持它们.这可能是一件小事.

更新:有一些额外的,更具体的理由选择一个,请查看this answer’s comments.这取决于您是否需要SSL,ESI和gzip压缩.

原文链接:https://www.f2er.com/nginx/435261.html

猜你在找的Nginx相关文章