2015-04-01 56 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; } 
} 
相關問題