我正在探索Varnish / Nginx / Apache实现的潜在场景,并对此设置有一些疑问.
我希望结合使用所有这三个,而不是用Nginx替换Apache.
目前我不确定Varnish是否应该放在Nginx前面,它将提供静态内容并将动态内容传递给Apache或者将它放在Nginx和Apache之间?
我应该启用Nginx缓存甚至启用它而不使用Varnish吗?
我有一些基于Apache日志处理统计数据的脚本,我可以做些什么来让我的脚本整体处理日志,而不仅仅是Apache的日志,它只包含动态请求统计信息?
我如何将Varnish传递访问统计信息传递给Apache / bginx,因为Apache / Nginx不会记录对缓存文件的访问?
最佳答案
这实际上取决于相关网站的内容和您正在使用的缓存方案.
原文链接:/nginx/435500.html我之前看过一个非常高流量的站点(每天1M uniques)这个场景,我们最终使用Nginx和Apache,没有Varnish.这是由于现有的缓存方法和页面上的动态内容量,所以我们只能拥有Varnish缓存图像和静态文件,如css和js.在测试期间,它变成了Nginx或Varnish问题,因为像我们一样,我们希望将Apache保留在配置中.我们所做的基准测试表明,Nginx在高音量下的表现比Varnish更快,这就是我们前进的方式.
我们可以做但有一件事就是在单独的请求中加载动态页面部分,然后在浏览器中插入内容,这样我们就可以使用Varnish来缓存更多对象,同时将动态元素传递给Apache在缓存未命中时通过Nginx提供静态内容.
就日志记录问题而言,您很可能需要编写将日志解析/合并的脚本,然后您可以针对合并日志运行统计脚本.我相信有一些很好的日志合并工具,但是现在可以想到一个.