一. Squid代理服务器(功能全,速度相对varnish慢)
1.装包yum -y install squid
2.修改配置文件:vim /etc/squid/squid.conf
http_port 80 vhost (修改第59行;下面内容自己添加)
visible_hostname www.haha.com(设置自己的代理服务的名字,用于客户访问代理服务器)
cache_peer 192.168.2.100 parent 80 0 originserver(定义后端服务器)
cache_dir ufs /var/spool/squid 200 16 256 (设置硬盘缓存容量为200M
自动创建16个一级子目录和256个二级子目录)
http_access allow all (修改56行,允许所有主机使用代理服务器)
3.重启服务设置开机自启。netstat -antpu | grep 80 查看squid是否启用
4.用客户端验证
二. Varnish代理服务器(加速web,性能好,速度快,缓存数据在内存)
1.安装Varnish源码包和安装依赖包yum -y install gcc readline-devel pcre-devel
解压源码包,cd进去,执行./configure --prefix=/usr/local/varnish指定安装路径
然后make && make install 编译安装;
2.复制启动脚本和配置文件
cd到解压出来的软件包中;cp redhat/varnish.initrc /etc/init.d/varnish
cp redhat/varnish.sysconfig /etc/sysconfig/varnish (复制配置文件)
ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/ (创建快捷方式)
ln -s /usr/local/varnish/bin/ /usr/bin/
3.修改前端配置:vim /etc/sysconfig/varnish
VARNISH_LISTEN_PORT=80 (修改66行, 默认端口)
VARNISH_STORAGE_SIZE=64M (修改89行,定义缓存大小)
VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"(修改92,基于内存方式缓存)
4.修改后端配置(代理配置文件) vim /etc/varnish/default.vcl
mkdir /etc/varnish
cp /usr/local/varnish/etc/default.vcl /etc/varnish
uuidgen > /etc/varnish/secret
vim /etc/varnish/default.vcl (取消注释即可)
backend default {
.host = "192.168.2.100"; (定义后端服务器)
.port = "80"; (定义端口号)
}
5.重启服务:/etc/init.d/varnish start
6.客户端访问;
7.日志的使用:
varnishlog (软件本身日志,在内存里)
varnishncsa (访问日志,没人访问则没有日志)
8.问题:vanish 代理主要采用了缓存技术,存在的一个问题是,如果web服务更新了页面,会导致客户端访问页面时,还是旧的,不能立即同步(软件有自动更新缓存,但有时间);如果想立即同步,需要手动清除缓存
varnishadmin -S /etc/varnish/secret -T 127.0.0.1:6082 (交互式)
(/etcc/varnish/secret 密码存放文件)(6082 仅管理员使用的端口)
storage.list (列出缓存)
backend.list (列出后端服务器)
ban.url .(清理所有)(支持正则;清除缓存)
ban.url 2.html (2.html是源站点)
varnishadm –S /etc/varnish/secret –T 127.0.0.1:6082 ban.url 页面文件名
(非交互式)
原文地址:http://blog.51cto.com/lingxudong/2068321