Varnish是一款高性能的开源HTTP加速器,下面给大家介绍如何在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