2015-04-01 130 views
2

我已经安装了一个高端的WHM专用服务器上的Varnish,它运行在10-13个网站上,全部使用WordPress。我看到命中率非常低,“varnishhist”的命中率非常高。另外,当我做varnishtop -i txurl时,我只看到“/”URL(而不是每个网站URL)以非常高的速度从Apache请求。下面是摘录:varnish不会缓存多个wordpress

4.02 TxURL/
1.00 TxURL /wp-content/uploads/2014/12/034kj343.jpg 
0.96 TxURL /wp-content/uploads/2014/12/dfkkj30434.jpg 
0.96 TxURL /wp-content/uploads/2014/10/3403402022.jpg 

我相信,即使清漆必须缓存每一个站点的主页和返回给客户端,而不是从后台请求。有什么建议吗?

+0

你能发布你的vcl conf文件吗? – 2015-04-03 18:06:09

回答

0

好的。我设法找到解决方案。这是我目前的VCL文件,效果很好。

sub vcl_recv{ 
    if (req.http.Cookie && req.http.Cookie ~ "(wordpress_|PHPSESSID)") 
    { return(pass); } 

    if (req.url ~ "wp-admin|wp-login") { 
    return (pass); 
    } 
    else{ 
    unset req.http.Cookie; 
    } #since we can not unset all, but leave wp-admin 
} 
sub vcl_backend_response { 
    if (bereq.url !~ "wp-admin|wp-login") { 
      unset beresp.http.Set-Cookie; 
    } 
    #beware that you are ignoreing all the headers now: 
    unset beresp.http.Cache-Control; 

    # cache everything for 60 minutes 
    if(beresp.ttl <= 0s) { set beresp.ttl = 3600s; } 
} 
相关问题