Squid缓存服务器

一.基本概念

Squid是一种用来缓存Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。

二.Squid正向代理

正向代理的原理就类似于vpn服务,假如我的IP上不了外网,而其他地区有台主机可以登陆外网,那台主机就可以当成我的代理,让我通过那台主机去上外网。

在服务端提供代理,首先保证服务端虚拟机能够上网

1.yum install squid.x86_64  -y    ##安装软件
2.rpm -qc squid                   ##查找配置文件

在这里插入图片描述 在这里插入图片描述

3.systemctl start squid
4.vim /etc/squid/squid.conf                     ##更改主配置文件

56 http_access allow all                        ##允许所有网络入口
59 http_port 3128                               ##提供代理的默认端口
62 cache_dir ufs /var/spool/squid 100 16 256    ##缓存空间100M,16个一级目录,每个一级目录有256个二级目录

在这里插入图片描述

5.systemctl restart squid
6.systemctl stop  firewalld

在这里插入图片描述
在客户端设置代理
在浏览器
点击Preferences
在这里插入图片描述
选择Advanced,点击Network,点击Settings
在这里插入图片描述
点击Manaul proxy configuration,添加代理主机ip及端口,设置完成后点击ok
在这里插入图片描述
测试
在客户端的浏览器输入域名
设置完成后客户端便可通过代理主机上网,但客户端本身是无法上网的,只是通过代理的缓存目录/var/spool/squid浏览网页信息
在这里插入图片描述
在这里插入图片描述

三.Squid反向代理

反向代理的原理就是类似于在西安访问www.qq.com,其实访问的不是深圳的www.qq.com的主服务器,而是腾讯在西安的代理服务器,内容是和主服务器一样的,那么西安的代理服务器其实是去深圳取的数据,并且缓存在了西安的那台主机上。这是一种加速机制,因为我所在的地方距离西安的腾讯服务器的路由跳数更少一些,同时也缓解了主服务器的压力。
在服务端提供代理
服务端主机为220

1.yum install squid.x86_64  -y
2.systemctl start squid
3.vim /etc/squid/squid.conf
56 http_access allow all
59 http_port 80  vhost  vport                        ##代理端口为虚拟主机的虚拟端口80
60 cache_peer  172.25.20.120 parent 80 0 proxy-only  ##通过80端口访问120主机,parent真正的服务器,proxy-only只提供代理  
62 cache_dir ufs /var/spool/squid 100 16 256

在这里插入图片描述

4.systemctl restart squid
systemctl stop  firewalld

在120主机上建立http默认发布文件
在这里插入图片描述
测试
在其他主机上访问220,看到的是120主机的内容
在这里插入图片描述

四.Squid实现轮循

轮循就是两台服务器交替为客户端提供缓存。
服务端主机ip为220

vim /etc/squid/squid.conf

60 cache_peer 172.25.20.120  parent  80 0 proxy-only name=web1 round-robin originserver weight=2 ##weight权重
61 cache_peer 172.25.20.250  parent  80 0 proxy-only name=web2 round-robin originserver
62 cache_peer_domain  web1 web2 www.hello.com

在这里插入图片描述

systemctl restart squid

测试
测试前要保证 120和250两台主机发布了 www.hello.com 站点
在测试主机上

vim /etc/hosts
172.25.20.220  www.hello.com 该站点指定的发布主机为 220即squid服务端

在这里插入图片描述
在浏览器 www.hello.com
发现120和250中的内容都能看到,其中120主机的需要刷新两次
在这里插入图片描述
在这里插入图片描述

企业常用的网络框架
Linux + Apache + Mysql + PHP = LAMP
Linux + Nginx + PHP/Perl/Python = LNMP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值