Enr*_*ico 13 nginx varnish django
我有一个 django 应用程序,我想在它前面的服务器上设置 Varnish。在另一个 serverfault 线程中,有人建议将 Nginx 放在 Varnish 前面。
我应该将 Nginx 放在缓存服务器上的 Varnish 前面吗?如果是这样,我应该在应用服务器上使用 Nginx 吗?
Jes*_*r M 10
我们说的是总共 1 - 3 台前端服务器,而不是在各层之间进行负载平衡的大型服务器群?
将 nginx 放在 Vanish 前面使您可以即时进行 HTTP 压缩。这是一种性能最佳实践,但可以省略。(Varnish 中的内容通常保持未压缩状态,以便 ESI Includes 工作,因此您不必根据 Vary 标头/浏览器匹配处理同一对象的多个缓存版本。)
关于应用服务器上的 nginx —— Apache 与 mod_wsgi 是否不是现在部署新 Django 安装的推荐和最常用的方法?我不知道在 Django 中使用 nginx/fastcgi 而不是 Apache/mod_wsgi 的令人信服的理由;但是你应该从 Django 专家那里得到建议。
关于 Varnish 具有 nginx 没有的有吸引力的负载平衡功能,我看不出它们是什么?清漆具有随机和循环平衡。nginx 具有循环、客户端 IP 和一致的散列——我认为 Varnish 没有显着的好处?是 VCL 或 Varnish 的优雅配置重新加载还是其他什么?
对于小型 1-3 个服务器设置,我想我会这样做
清漆 --> Apache / mod_wsgi / Django
或者可能
Squid --> Apache / mod_wsgi / Django
并且为了简单起见忽略 HTTP 压缩,除非带宽很昂贵。
更新:
Graham Dumpleton 在下面写了一篇有价值的评论。他提到了一个非常常见的设置,例如 VPS 上的博客,或没有缓存的小型网络农场:
nginx --> Apache / mod_wsgi / Django
这是一个非常好的解决方案,原因如下:
我最初没有提到这一点的原因是 OP 似乎需要 Varnish,一种非常高性能的缓存解决方案。nginx / Apache / mod_wsgi 组合无法以与 Varnish 相匹配的性能和灵活性级别进行缓存。
| 归档时间: |
|
| 查看次数: |
7555 次 |
| 最近记录: |