Linux搭建squid varnish 代理服务器



   Linux搭建HTTP代理服务器

代理服务器(Proxy Server):

正向代理 --- 客户端程序(如浏览器)用制定代理服务器的地址:端口

反向代理 --- 负载均衡,反向代理工作机制 与传统代理方向相反 代理公网用户访问组织内部的web服务器:

Linux平台下常用的两个软件:

Squid

squid是一个高性能的代理缓存服务器,Squid支持FTPgopherHTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求,squid  可做正向和反向代理 //缓存为硬盘存储,

Varnish

Varnish是一款高性能的开源d反向代理服务器和HTTP加速器,挪威最大的在线报纸Verdens Gang 使用3Varnish代替了原来的12Squid,性能比以前更好。

与传统的squid相比,varnish具有性能更高,速度更快,并发量更大,管理方便等诸多优点。

varnish 只能做反向代理服务器 //缓存为内存存储

废话不多说………直接上货

今天先讲一下varnish的安装与配置,以CentOS6.7为例。

准备环境

代理服务器 192.168.4.5       搭建 varnish

Web服务器 192.168.2.100    搭建http

Client测试机 192.168.4.100   测试用

  1. 源码编译安装varnish,安装前需要先安装 gccreadline-develpcre-devel 等依赖包。这三个包在Centos6.7的光盘里有,可以直接采用本地yum源安装,gcc 是用来编译编译源码包的,

yum –y install gcc readline-devel pcre-devel   //安装gcc等依赖包

wget-c http://repo.varnish-cache.org/source/varnish-3.0.1.tar.gz //下载varnish源码包

这个是3.0.1版本的,最新版有3.0.4.有需要的自己google

 

tar xf varnish-3.0.1.tar.gz  // tar -xf 解包

useradd -s/sbin/nologin varnish   //创建varnish用户,指定shell/sbin/nologin/ 不让varnish登录Linux系统

./configure --prefix=usr/local/varnish //配置----指定安装目录

make &&make install  //编译安装

到这里varnish安装就完成了,但是还不能直接起服务。

 

拷贝配置文件

 

cpredhat/varnish.initrc /etc/init.d/varnish

 //拷贝varnish.initrcinit.d/目录

cpredhat/varnish.sysconfig /etc/sysconfig/varnish

//拷贝varnish.sysconfig/etc/sysconfig/目录

cpredhat/varnish_reload_vcl  /usr/bin/ 

//拷贝 varnish_reload_vcl/usr/bin/目录

ln -s/usr/local/varnish/sbin/varnishd /usr/sbin/

//创建链接 /usr/sbin/

 

配置文件:

主配置文件(定义前端配置)

#vim/etc/sysconfig/varnish

66:ARNISH_LISTEN_PORT=80端口

76:VARNISH_MIN_THREADS=50最小线程数

79:VARNISH_MAX_THREADS=1000最大线程数

89:VARNISH_STORAGE_SIZE=64M缓存大小  //根据自己的实际需求更改

我的内存一个G的所有只给他64M

92:VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"

使用内存缓存页面,内存大小为64M

73VARNISH_SECRET_FILE=/etc/varnish/secret

定义密码文件的路径

 

mkdir/etc/varnish

cp/usr/local/varnish/etc/varnish/default.vcl /etc/varnish/

拷贝 default.vcl /etc/varnish/目录

 

主配置文件(定义后台服务器)

#vim/etc/varnish/default.vcl

backend default{

     .host = "192.168.2.100";  //web服务的IP

     .port = "80";            //web的端口

 }

把这几行前面的注释(#)去掉,修改一下.hsot= 是你要代理缓存的web服务器

.port是端口,默认为80,

密码文件

#uuidgen >/etc/varnish/secret

 //生成uuid作为密码,secret文件事先是不存在的

到这里已经配置完毕了,

#service  varnish start //启动服务

然后测试

用测试机在浏览器里输入192.168.4.5,看能否访问到web上的页面

Web是在192.168.2.100上的。

 

管理varnish的缓存内容

1.客户端访问代理(获取旧的页面内容)

2.代理(链接/usr/local/varnish/bin)

#varnishadm -T127.0.0.1:6082 -S /etc/varnish/secret

 ban.url index.html  //刷新缓存

也可以用varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret ban.url.* 刷行缓存

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值