如何在Ubuntu 12.04上安装Wordpress,Nginx,PHP和Varnish

Varnish是HTTP加速器,是加速服务器的有用工具,特别是在网站流量高的时候。它的工作原理是尽可能将访问者重定向到静态页面,并且仅在服务器本身上绘制

关于Varnish

Varnish是HTTP加速器,是加速服务器的有用工具,特别是在网站流量高的时候。 它的工作原理是尽可能将访问者重定向到静态页面,并且仅在需要活动进程时才在服务器本身上绘图。

建立

在开始学习本教程之前,有几个先决条件。 您将需要具有root权限的用户,LEMP和Wordpress已安装在您的服务器上。

您可以运行以前的几个教程,以确保您的服务器达到速度:

  1. 要创建使用sudo权限的用户,经过第三步和第四步初始Ubuntu服务器设置

  2. 要安装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
作者Etel Sverdlov