如何在Ubuntu12.04上使用Apache安装和配置Varnish
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
关于清漆
Varnish 是一种 HTTP 加速器,也是加速服务器的有用工具,尤其是在网站流量大的时候。 它的工作原理是尽可能将访问者重定向到静态页面,并且仅在需要活动进程时才使用虚拟专用服务器本身。
设置
要执行本教程中的步骤,您需要在虚拟专用服务器上安装具有 sudo 权限的用户和 apache。
要创建具有sudo权限的用户,请通过初始ubuntu服务器设置教程的第三步和第四步
Apache 可以通过 apt-get 存储库中的单个命令安装在您的 VPS 上。
sudo apt-get install apache2
第一步——安装清漆
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
第二步——配置清漆
一旦你安装了 apache 和 varnish,你就可以开始配置它们以减轻未来访问者对服务器的负载。
Varnish 将在端口 80 上提供内容,同时从将在端口 8080 上运行的 apache 获取内容。
让我们继续并通过打开 /etc/default/varnish 文件开始设置:
sudo nano /etc/default/varnish
取消注释“DAEMON_OPTS”下的所有行 - 在备选方案 2 下,并使配置与以下代码匹配:
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 在哪里寻找网络服务器的内容。 虽然 Apache 默认侦听端口 80,但我们稍后会更改它的设置。 在这个文件中,我们将告诉 varnish 在端口 8080 上查找内容。
配置应该是这样的:
backend default { .host = "127.0.0.1"; .port = "8080"; }
第三步——配置 Apache
到目前为止,我们已经告诉 varnish apache 端口将在 8080 上运行。 但是 apache 的默认设置仍然在端口 80 上。 我们现在将纠正差异。 打开 apache 端口文件:
sudo nano /etc/apache2/ports.conf
将 NameVirtualHost 和 Listen 行的端口号更改为端口 8080,虚拟主机应该只能从 localhost 访问。 配置应如下所示:
NameVirtualHost 127.0.0.1:8080 Listen 127.0.0.1:8080
更改默认虚拟主机文件中的这些设置:
sudo nano /etc/apache2/sites-available/default
虚拟主机也应该设置为 8080 端口,更新后的行如下所示:
<VirtualHost 127.0.0.1:8080>
保存并退出文件并继续重新启动 Apache 和 Varnish 以使更改生效。
sudo service apache2 restart sudo service varnish restart
访问您的域应该会立即将您带到 varnish 缓存版本,您可以使用以下命令查看 varnish 工作的详细信息:
varnishstat