关于Varnish
Varnish是HTTP加速器,是加速服务器的有用工具,特别是在网站流量高的时候。 它的工作原理是尽可能将访问者重定向到静态页面,并且仅在需要活动进程时才在服务器本身上绘图。
建立
在开始学习本教程之前,有几个先决条件。 您将需要具有root权限的用户,LEMP和Wordpress已安装在您的服务器上。
您可以运行以前的几个教程,以确保您的服务器达到速度:
- 要创建使用sudo权限的用户,经过第三步和第四步初始Ubuntu服务器设置
要安装LEMP(Linux操作系统,Nginx的,MySQL和PHP)栈,遵循的步骤LEMP安装教程 。
在服务器上安装WordPress,检查出的指示在WordPress安装教程
第一步 - 安装Varnish
一旦你拥有了配置Varnish与wordpress所需的所有先决条件,你应该开始安装Varnish的过程。
Varnish站点建议通过其存储库安装Varnish包。
您可以通过抓取存储库启动该过程:
sudo curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key add -
下一步是将该存储库添加到apt源列表。 打开文件。
sudo nano /etc/apt/sources.list
一旦在文件中,将清单存储库添加到源列表。
deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0
保存并退出。
最后,更新apt-get并安装varnish。
sudo apt-get update sudo apt-get install varnish libvarnish-dev
第二步 - 配置Varnish
一旦安装了nginx和varnish,就可以开始配置它们,以减轻虚拟专用服务器上的负载。
Varnish将在端口80上提供内容,同时从在端口8080上运行的nginx获取它。
打开/ etc / default / varnish文件,开始设置:
sudo nano /etc/default/varnish
找到“DAEMON_OPTS”下面的行 - 在备选2部分,并将端口号由“-a”更改为80.配置应该匹配以下代码:
DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"
这是你需要做的唯一的变化。 保存并退出该文件,并打开default.vcl文件:
sudo nano /etc/varnish/default.vcl
此文件指示Varnish在哪里查找Web服务器内容。 它应该已经配置为使后端(即nginx)在端口8080上监听。
我们需要使用此文件作为次要目的。 Wordpress是充满了各种各样的cookie,使缓存非常困难。 为了使Varnish工作尽可能高效,我们需要告诉它删除所有与Wordpress网站的管理端无关的cookie。
此外,我们需要告诉Varnish来删除使worpdress很难缓存的cookie。
default.vcl文件的开头应该如下所示:
[...] backend default { .host = "127.0.0.1"; .port = "8080"; } # Drop any cookies sent to Wordpress. sub vcl_recv { if (!(req.url ~ "wp-(login|admin)")) { unset req.http.cookie; } } # Drop any cookies Wordpress tries to send back to the client. sub vcl_fetch { if (!(req.url ~ "wp-(login|admin)")) { unset beresp.http.set-cookie; } } [...]
第三步 - 配置Nginx
虽然我们已经配置了Varnish以期望nginx端口将在8080上运行,但是nginx的默认设置仍然在端口80上。我们现在将更正差异。
使用Wordpress信息打开虚拟主机文件。 在以前的Wordpress教程中,我们简单地称之为wordpress:
sudo nano /etc/nginx/sites-available/wordpress
虚拟主机也应设置为端口8080,并且只能从本地主机访问。 更新后的行如下所示:
[...] server { listen 127.0.0.1:8080; ## listen for ipv4; this line is default and implied [...]
我们需要在开始在我们的网站上运行varnish之前做最后一件事,那就是删除默认启用的虚拟主机。
sudo rm /etc/nginx/sites-enabled/default
如果您再次需要,模板将保留在sites-available目录中。
第五步 - 重新启动
一旦完成所有必需的更改,重新启动varnish和nginx。
sudo service nginx restart
sudo service varnish restart
访问您的域名应立即转到Varnish缓存版本,您可以使用此命令查看您的VPS上的Varnish工作的详细信息:
varnishstat