Varnish 是一款高性能的开源 HTTP 加速器,可将网页缓存到内存,实现非凡的速度和降压效果。

DirectAdmin 安装 Varnish 缓存(附卸载方法)

今天就介绍一篇已经许多人知道的 DirectAdmin 安装 Varnish 的教程吧!文中以 Apache 2.2 作为示范,如果自己的主机安装的是 Apache 2.4 的话还是比较建议自己研究一下如何使用 mod_remoteip 来获取真实 ip 的。

首先,你肯定需要有一台装有 DirectAdmin 的设备,可以使用《DirectAdmin 开心版》测试。

本文仅适合 RHCL/CentOS 类系统,Debian/Ubuntu 请自个儿折腾。

一、第一步:安装依赖 & 导入 rpm 包。

依赖直接使用 yum 安装即可。

yum -y install automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig

如果你是 CentOS 5 就执行:

rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release/varnish-release-3.0-1.el5.centos.noarch.rpm

如果你是 CentOS 6 就执行:

rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el6/noarch/varnish-release/varnish-release-3.0-1.el6.noarch.rpm

做好如上措施之后,开始安装好 Varnish:

yum -y install varnish

二、第二步:修改各个配置。

如下第 3 行命令有“1.2.3.4”请把它改为你服务器的 IP:

sed -i 's/.port = "80";/.port = "8080";/g' /etc/varnish/default.vcl
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf
sed -i 's/<VirtualHost 1.2.3.4:80>/<VirtualHost 127.0.0.1:8080 1.2.3.4:8080>/g' /etc/httpd/conf/extra/httpd-vhosts.conf
sed -i 's/80/8080/g' /etc/httpd/conf/ips.conf
mkdir /usr/local/directadmin/data/templates/custom
cp -p /usr/local/directadmin/data/templates/virtual_host2.conf /usr/local/directadmin/data/templates/custom/virtual_host2.conf
cp -p /usr/local/directadmin/data/templates/virtual_host2_sub.conf /usr/local/directadmin/data/templates/custom/virtual_host2_sub.conf
cp -p /usr/local/directadmin/data/templates/redirect_virtual_host.conf /usr/local/directadmin/data/templates/custom/redirect_virtual_host.conf
sed -i 's/<VirtualHost |IP|:|PORT_80| |MULTI_IP|>/<VirtualHost 127.0.0.1:8080 |IP|:8080 |MULTI_IP|>/g' /usr/local/directadmin/data/templates/custom/*
sed -i 's/VARNISH_LISTEN_PORT=6081/VARNISH_LISTEN_PORT=80/g' /etc/sysconfig/varnish
echo "varnishd=ON" >> /usr/local/directadmin/data/admin/services.status

三、第三步:安装 rpaf 获取真实 IP。

Apache 2.2 安装方法:

wget http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
apxs -cia mod_rpaf-2.0.c

Apache 2.4 安装方法:

wget http://www.stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
yum -y install git
git clone git://gist.github.com/2716030.git
patch mod_rpaf-2.0.c 2716030/mod_rpaf-2.0.c.patch
apxs -cia mod_rpaf-2.0.c

安装好 rpaf 之后要修改 http 引入的配置:

vi /etc/httpd/conf/extra/httpd-includes.conf

在最底下加入如下代码:

#For the rpaf
<IfModule mod_rpaf-2.0.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
RPAFheader X-Forwarded-For
</IfModule>

最后让 DirectAdmin 更新一下配置:

echo "action=rewrite&value=httpd" >> /usr/local/directadmin/data/task.queue

最后步骤:重启 Apache 与 Varnish,并设置开机启动。

service httpd restart
service varnish start
chkconfig varnish on

这 4 个步骤都完毕之后,你可以利用如下方式来对你的主机进行测试:

curl -I 127.0.0.1

然后几秒钟再次 curl,如下图所示:

DirectAdmin 安装 Varnish 缓存(附卸载方法)

如果在你第二次 curl 的时候,X-Varnish 的 ID 变成了两个、并且 Age 大于 0 即说明缓存成功。


卸载方法:

如果你在使用的时候发现有问题或者说觉得 Varnish 不适合你,可以这么卸载:

rm -rf /usr/local/directadmin/data/templates/custom/virtual_host2.conf
rm -rf /usr/local/directadmin/data/templates/custom/virtual_host2_sub.conf
rm -rf /usr/local/directadmin/data/templates/custom/redirect_virtual_host.conf
yum remove varnish* -y
cd /usr/local/directadmin/custombuild
./build rewrite_confs
servier httpd restart

然后就和原来没有安装 Varnish 的一样了。


小结

技术应该共享,此文章来自 JDRHOST 帮助文库,希望他的文库可以帮助更多的人。

目前有9条回应
Comment
Trackback
Loading ....
  • 莫回首 回应于2014/06/27 10:41 回复TA

    还不错,我4G内存的XEN跑感觉速度没什么差别。

  • 免费资源部落 回应于2014/05/28 10:36 回复TA

    安装好了,Wordpress是不是要配置一下?

    • Tomas 回应于2014/05/28 13:14 回复TA

      这个只是一个通用的方法,可以适用于 DirectAdmin 中所有主机和所有程序。

      如果要特别针对 WordPress 的话就要配置一下 Varnish 的规则了

  • CNHosT Asia 回应于2014/05/27 08:14 回复TA

    不错 支持一下

    • Tomas 回应于2014/05/27 14:57 回复TA

      感谢支持~

      因为写的比较匆忙,如果文中有什么错误还望指出喔

  • 大喇叭 回应于2014/05/26 22:38 回复TA

    哈哈》。。跑来了啊啊

    • Tomas 回应于2014/05/27 14:56 回复TA

      其实 Varnish 在内存大的机子效果好明显

      • 大喇叭 回应于2014/05/27 16:13 回复TA

        @Tomas: 其实 我Vps都不会咋么折腾》。。你要高考了啊啊 加油啊

        • Tomas 回应于2014/05/27 16:15 回复TA

          VPS 不会的话可以虚机安装个来玩,其实用起来还是很简单的(比 Windows 简单)

  • 本篇文章没有Trackback
你目前的身份是游客,请输入昵称和电邮!