在CentOS/RHEL 6.x上安装并配置Varnish缓存服务器
时间:2019-08-20 17:58:15 来源:igfitidea点击:
Varnish是一个著名的web加速器,它通过web缓存技术加快服务器的速度。
Varnish下载地址 http://repo.varnish-cache.org/redhat/
我们将使用rpm包在CentOS 7/RHEL 7上安装Varnish 4。
系统环境
- 操作系统:CentOS release 6.4 (Final)
- 架构 : x86_64
- IP地址: 192.168.1.22
- Web服务器: Apache version 2.2.15-29
下载rpm包
wget http://repo.varnish-cache.org/redhat/varnish-3.0/el6/noarch/varnish-release-3.0-1.el6.noarch.rpm
使用yum命令安装varnish
yum install varnish
备份default.vcl文件
cp -p /etc/varnish/default.vcl /etc/varnish/default.vcl.orig
检查服务状态
默认varnish的运行端口是6021。
使用netstat命令检查它正在运行的端口号:
/etc/init.d/varnish start
[root@varnish ~]# netstat -tanp|grep varnish tcp 0 0 0.0.0.0:6081 0.0.0.0:* LISTEN 1640/varnishd tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 1639/varnishd tcp 0 0 :::6081 :::* LISTEN 1640/varnishd [root@varnish ~]#
更改端口号
因为默认情况下web服务器运行在端口号80,所以我们将更改此端口号,以便varnish可以缓存web应用程序。
我们将在80端口上运行Varnish。
vi /etc/sysconfig/varnish VARNISH_LISTEN_PORT=80
因为varnish和apache的同一个服务器上,所以IP地址直接使用127.0.0.1。
端口8080是apache修改后使用的监听端口。
vi /etc/varnish/default.vcl backend default { .host = "127.0.0.1"; .port = "8080"; }
将apache的端口号改为8080端口。
apache中的虚拟主机有两种,分为基于名称和基于IP。
根据需求配置web服务器。
下面我们将使用基于IP的虚拟主机。
备份httpd.conf文件
cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.orig
将apache的80号监听端口改为8080。
vi /etc/httpd/conf/httpd.conf Listen *:8080
现在配置我们的第一个虚拟主机
在/etc/httpd/conf/httpd.conf最后一行后添加以下内容
vi /etc/httpd/conf/httpd.conf <VirtualHost *:8080> ServerAdmin [email protected] DocumentRoot /var/www/html/ ErrorLog logs/sample-error.log CustomLog logs/sampleaccess_log common </VirtualHost>
创建一个index.html文件用于测试
echo "hello" >> /var/www/html/index.html
现在重启Varnish和apache
/etc/init.d/varnish restart ;/etc/init.d/httpd restart;/etc/init.d/varnish restart
测试
在web浏览器输入服务器ip地址
http://192.168.1.22
或者使用下面命令检查
Hyman@theitroad:/tmp$ curl -I http://192.168.1.22 HTTP/1.1 200 OK Server: Apache/2.2.15 (CentOS) Last-Modified: Wed, 25 Sep 2013 15:59:46 GMT ETag: "24d18-20-4e73757a7d276" Content-Type: text/html; charset=UTF-8 Content-Length: 32 Accept-Ranges: bytes Date: Wed, 25 Sep 2013 16:05:24 GMT X-Varnish: 1980745874 1980745871 Age: 4 Via: 1.1 varnish Connection: keep-alive Hyman@theitroad:/tmp$
注意Age的变化。如果一直是0,表示Varnish没有缓存,这时需要检查所有的配置
启用Varnish日志记录
完成以上配置后,我们可能会注意到Varnish没有进行日志记录。
[root@varnish log]# ls -l /var/log/varnish/ total 0 [root@varnish log]#
要启用Varnish日志,需启动服务 varnishlog和 varnishncsa
正在启动Varnish日志服务
[root@varnish log]# /etc/init.d/varnishlog start Starting varnish logging daemon: [ OK ] [root@varnish log]# ls -l /var/log/varnish/ total 4 -rw-r--r-- 1 root root 168 Sep 25 21:40 varnish.log [root@varnish log]#
启动VarnishNCSA服务
[root@varnish log]# /etc/init.d/varnishncsa start Starting varnish ncsa logging daemon: [ OK ] [root@varnish log]# ls -l /var/log/varnish/ total 4 -rw-r--r-- 1 root root 1008 Sep 25 21:41 varnish.log -rw-r--r-- 1 root root 0 Sep 25 21:41 varnishncsa.log [root@varnish log]#