Linux搭建HTTP代理服务器

代理服务器(Proxy Server):

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

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

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

Squid:

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

Varnish:

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

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

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

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

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

准备环境

代理服务器 192.168.4.5       搭建 varnish

Web服务器 192.168.2.100    搭建http

Client测试机 192.168.4.100   测试用

  1. 源码编译安装varnish,安装前需要先安装 gcc、readline-devel、pcre-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.initrc到init.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

73:VARNISH_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.* 刷行缓存

Linux搭建squid varnish 代理服务器相关推荐

  1. Linux搭建squid服务实现内网机器代理上网

    Squid Cache(简称为Squid)是HTTP代理服务器软件.Squid用途广泛,可以作为缓存服务器,可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网 ...

  2. Linux搭建socks 5代理服务器及使用

    Socks 5 安装部署 下载源码包 wget https://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz 配 ...

  3. Linux高级运维(十)-搭建企业中最常用缓存代理服务器Squid , Varnish

    搭建varnish 缓存代理服务器 需求: 使用Varnish加速后端Web服务,代理服务器可以将远程的Web服务器页面缓存在本地,远程Web服务器对客户端用户是透明的,利用缓存机制提高网站的响应速度 ...

  4. Squid 和 Varnish 代理服务器的简单搭建

    一. Squid代理服务器(功能全,速度相对varnish慢) 1.装包yum -y install squid 2.修改配置文件:vim /etc/squid/squid.conf http_por ...

  5. 10个关于linux中Squid代理服务器的实用面试问答

    10个关于linux中Squid代理服务器的实用面试问答 不仅是系统管理员和网络管理员时不时会听到"代理服务器"这个词,我们也经常听到.代理服务器已经成为一种企业常态,而且经常会接 ...

  6. Centos7搭建Squid代理服务器

    Centos7搭建Squid代理服务器 sumu's home 1.无需验证版----http 1.1 安装 yum install squid 1.2 修改配置文件 打开文件: vim /etc/s ...

  7. linux搭建代理服务器+蚁剑配置客户端代理

    一:linux搭建代理服务器 0x00 介绍 关于搭建代理服务器的方法,我也是刚刚接触,从网上找了一些能够行得通的方法来给大家做个分享: 这里我用的是Tinyproxy作为代理服务软件.这个东西很小, ...

  8. centos代理服务器搭建(linux搭建http代理服务器)

    centos 7怎么配置代理服务器 1.全局的代理设置: vi/etc/profile 添加下面内容 http_proxy= :password@yourproxy:8080/ ftp_proxy= ...

  9. Tomcat服务器 Varnish代理服务器

    Tomcat服务器 概述 Java简介 Java是一种跨平台的,面向对象的程序设计语言,Java技术具有卓越的通用性,高效性,平台移植性和安全性 体系 Java  SE (标准版) Java  EE ...

最新文章

  1. [C#反射]C#中的反射解析及使用.
  2. [redis] Redis 常用命令
  3. ubuntu 安装 docky
  4. 计算机组成原理sop,MacBERT:MLM as correction BERT
  5. 项目Beta冲刺(团队) --1/7
  6. DHTML【9】--Javascript
  7. wordpress php幻灯片代码,WordPress无需插件实现幻灯片效果
  8. 贱人工具箱使用技巧5——批量修改文字
  9. 高空瞭望视频监控+三维场景视频融合平台
  10. android 调出键盘表情_Android-表情键盘的制作
  11. gluster分布式存储总结与实践
  12. 关于tkinter.Canvas 不显示图片的问题
  13. 关于删除一条动态的同时删除这条动态的所有评论
  14. Web前端性能优化思路
  15. 嵌入式linux开发,交叉编译qt4.8.5报错:not found (try using -rpath or -rpath-link)/home/ms/work/code/qt/opensourc
  16. git(9)Git 内部原理
  17. 全智贤​成为FILA菁英运动代言人;欧莱雅静华大厦新园区落户上海 | 知消
  18. MCU引脚输出模式中推挽输出与开漏输出电路原理区别
  19. 曲师计算机考研内容,2019计算机考研大纲试卷内容
  20. 【开源】自制简易示波器V1.0

热门文章

  1. 02 从亚马逊的实践,谈分布式系统的难点
  2. Offer拿到了!2023届校招继续投!
  3. 关于 浏览器 连接已重置 的解决方法
  4. Android6.0 源码添加黑名单拦截电话和短信记录
  5. 【Yolact训练自己的数据集(踩坑总结)】
  6. 解决Unity3D中多层级结构子物体旋转受父物体尺寸影响的问题
  7. 微信小程序:限制上传图片大小
  8. 出租车计价器的设计一
  9. 详解CAN总线:CAN总线报文格式—遥控帧
  10. 北航新款机器人,粘在鲨鱼上搭便车!