RedHat Linux AS 5.0 下 Varnish 安装

Varnish是一款高性能的开源HTTP加速器,Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算 机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。

1、Pcre的安装 (PERL兼容正则表达式库)

wget
tar zxvf pcre-8.02.tar.gz
cd pcre-8.02
./configure --libdir=/usr/lib
make && make install

如果没有安装Pcre,configure varnish2.0以上版本时候,会提示找不到pcre库

2、varnish 安装

wget
tar zxvf varnish-2.1.1
cd varnish-2.1.1
./configure --prefix=/usr/local/varnish
make && make install

3、varnish启动

/usr/local/varnish/sbin/varnishd -n /data/vcache -f /usr/local/varnish/etc/vhost/vhost.vcl -a 0.0.0.0:80 -s file,/data/vcache/varnish_cache.data,1G    -T 127.0.0.1:3500 -p client_http11=on -p thread_pools=8 -p thread_pool_min=16 -p thread_pool_max=512

每个选项可以参见

4、varnish停止、启动、开启日志脚本

#!/bin/sh

if [ "$1" = "start" ];then

                 /usr/local/varnish/sbin/varnishd -n /data/vcache \
                 -f /usr/local/varnish/etc/vhost/vhost.vcl -a 0.0.0.0:80 \
                 -s file,/data/vcache/varnish_cache.data,1G         -T 127.0.0.1:3500 \
                 -p client_http11=on     -p thread_pools=8 -p thread_pool_min=16 -p thread_pool_max=512

elif [
"$1" = "stop" ];then

                 killall varnishd

elif [
"$1" = "status" ];then

                 /usr/local/varnish/bin/varnishadm -T 127.0.0.1:3500 status

elif [
"$1" = "start-log" ];then

                 /usr/local/varnish/bin/varnishncsa -n /data/vcache -w /var/log/varnish.log &
else
                 echo $0
"{start|stop|status|start-log}"
fi

在windows下编辑,在AS5下会出现
-bash: ./varnishadmin: /bin/sh^M: bad interpreter: No such file or directory 错误,2种平台下编码不同造成。
vi THIS_SHELLSCRIPT(脚本文件名)
:set ff                  -> 会显示文件格式为fileformat=dos
:set ff=unix         ->设置fileformat=unix
:wq

5、varnish日志轮询脚本

#!/bin/sh
vlog=/var/log/varnish-log
date=$(date -d
"yesterday" +"%Y-%m-%d")
pkill -9 varnishncsa
mv /var/log/varnish.log /var/log/varnish-${date}.log
/usr/local/varnish/bin/varnishncsa -n /data/vcache -w /var/log/varnish.log &
mkdir -p /var/log/varnish-log/
cd /var/log
tar -zcvf     $vlog/varnish-${date}.log.tar.gz varnish-${date}.log
rm -f /var/log/${date}.log
rm -f /var/log/varnish-log/$(date -d
"-1 month" +"%Y-%m*").log.tar.gz

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywzyx.html