Moke|墨客

 找回密码
 立即注册
搜索
查看: 6674|回复: 0

WordPress在CentOS服务器下如何安装Varnish加速

[复制链接]

3636

主题

0

回帖

3681

积分

超级版主

Rank: 8Rank: 8

积分
3681
发表于 2016-5-12 18:19:21 | 显示全部楼层 |阅读模式






                  Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸Verdens Gang (http://www.vg.no)  使用3台Varnish代替了原来的12台squid,性能居然比以前更好。可见Varnish是一个相当强大的加速器。下面罗伊给大家介绍如何在  CentOS上安装Varnish来给你的WordPress博客加速。
  1,安装Varnsih
  使用SSH登录你的VPS,执行下面的命令来安装Varnish:
  yum install varnish
  然后我们启动Varnish:
  /etc/init.d/varnish start
  设置为开机启动:
  chkconfig –level 345 varnish on
  2,配置Varnish
  打开default.vcl:
  nano /etc/varnish/default.vcl
  确认默认的default.vcl和下面的代码相匹配:
  # Back-End backend default { .host = "127.0.0.1"; .port = "80";  .connect_timeout = 60s; .first_byte_timeout = 10s; .between_bytes_timeout = 10s;  } # Custom sub vcl_recv { remove req.http.X-Forwarded-For; set  req.http.X-Forwarded-For = client.ip; if (req.url ~ "^/wp-(login|admin)") {  return (pipe); } if (req.http.Cookie  ~"(wp-postpass|wordpress_logged_in|comment_author_)") { return (pipe); } if  (req.request == "POST") { return (pass); } if (req.http.Cache-Control ~  "no-cache") { return (pass); } if (req.http.Authorization) { return (pass); } if  (req.url ~ ".(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pd  f|txt|tar|wav|bmp|rtf|js|flv|swf|htm|html)$") { unset req.http.Cookie; unset  req.http.Accept-Encoding; unset req.http.Vary; return (lookup); } if  (req.http.Accept-Encoding) { if (req.url ~  ".(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") { remove req.http.Accept-Encoding; }  elsif (req.http.Accept-Encoding ~ "gzip") { set req.http.Accept-Encoding =  "gzip"; } elsif (req.http.Accept-Encoding ~ "deflate") { set  req.http.Accept-Encoding = "deflate"; } else { remove req.http.Accept-Encoding;  } } if (req.backend.healthy) { set req.grace = 30s; } else { set req.grace = 1h;  } unset req.http.Cookie; unset req.http.Vary; return (lookup); } sub vcl_fetch {  set beresp.grace = 1h; unset beresp.http.set-cookie; if (req.url ~  ".(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pd  f|txt|tar|wav|bmp|rtf|js|flv|swf|htm|html)$") { set beresp.ttl = 24h; } else {  set beresp.ttl = 5m; } return (deliver); } sub vcl_deliver { if(obj.hits > 0)  { set resp.http.X-Cache = "HIT"; } else { set resp.http.X-Cache = "MISS"; } set  resp.http.Cache-Control = "private"; set resp.http.Pragma = "private"; remove  resp.http.X-Varnish; remove resp.http.Via; remove resp.http.Age; remove  resp.http.Server; remove resp.http.X-Powered-By; } sub vcl_pipe { set  bereq.http.connection = "close"; } 重启Varnish使其生效: /etc/init.d/varnish  restart
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 

 

快速回复 返回顶部 返回列表