一. 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 页面文件名 (非交互式)