Varnish 是一款高性能的开源 HTTP 加速器,可将网页缓存到内存,实现非凡的速度和降压效果。
今天就介绍一篇已经许多人知道的 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,如下图所示:
如果在你第二次 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 帮助文库,希望他的文库可以帮助更多的人。
- 本篇文章没有Trackback
还不错,我4G内存的XEN跑感觉速度没什么差别。
安装好了,Wordpress是不是要配置一下?
这个只是一个通用的方法,可以适用于 DirectAdmin 中所有主机和所有程序。
如果要特别针对 WordPress 的话就要配置一下 Varnish 的规则了
不错 支持一下
感谢支持~
因为写的比较匆忙,如果文中有什么错误还望指出喔
哈哈》。。跑来了啊啊
其实 Varnish 在内存大的机子效果好明显
@Tomas: 其实 我Vps都不会咋么折腾》。。你要高考了啊啊 加油啊
VPS 不会的话可以虚机安装个来玩,其实用起来还是很简单的(比 Windows 简单)