1.Squid是什么?
Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。
squid是支持apache的代理服务器
下面给大家介绍两种代理方式:
2.正向代理
例如‘翻墙’
我在中国,想要上外国的网,不允许,所以我会找到另一个地方,那个地方可以连接外国的网,这个地方就叫“代理”,翻墙就是这个代理地方去连接外国的网,而我连接这个代理地方的。
说白了,就是我在中国查看代理地方连接的外国网
还是熟悉的配方,还是原来的味道,配置yum源,我就不配置了
代理服务器的工作:
yum install squid -y
syatemctl start squid
vim /etc/squid/squid.conf
56 http_access allow all 允许任何人访问代理
62 cache-dir ufs /avr/spool/squid 100(缓存大小) 16(一级目录) 256(二机目录)
这个100M看起来很小,不用担心,这个会定期清理掉缓存的东西
systemctl restart squid
cd /var/spool/squid
ls
会出现16个一级目录
ls 00/
出现256个二级目录
3.反向代理
cdn内容分发网络
CDN的全称是Content Delivery
Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
我是西安的客户,需要访问深圳的网,可以是可以,但是比较慢,肯定没有访问西安的网快,因为西安-西安之间的路由转换比较少,而西安-深圳的路由转换多。
其次如果很多服务器都去访问深圳的网的话,压力会太大。
所以会在西安添加一个反向代理服务器
第一,它可以快速的访问深圳的网
第二,本地客户可以快速的访问代理服务器的网
第三,本地访问代理+代理访问深圳的网也比本地客户直接访问深圳的网快,
第四,这样还能减缓深圳服务器的压力
操作:
设置反向代理:
vim /etc/squid/squid.conf
56 http_port 80 vhost vport
57 cache_peer 172.25.254.205 parent 80 0 proxy-only
systemctl restart squid
设置终端服务器:
首先得有Apache服务
yum install httpd -y
systemctl start httpd
vim /var/www/html/index.html
hello world
systemctl restart http
测试:
在真机设置本地解析
vim /etc/hosts
172.25.254.105 www.westos.com(这是我做反向代理服务器的ip)
打开网页,写上www.westos.com
实际上它会出现终端服务器的的东西
4.两台服务器的调度
三台服务主机(两台apache,一台squid):
能访问默认发布文件的内容即可(为了实验效果把两个文件的内容写成不同)
其实在用户访问网址的时候,自己是不知道访问的是哪台服务器,他们也不需要知道,所以在企业中调度器调度的一些服务器所共享的内容都是一样的,这样用户访问的时候就不会出现问题,这种调度也叫负载均衡。
apache服务主机设置:
第一个安装apache的服务器主机ip为172.25.254.105
vim /var/www/html/index.html
关闭火墙
第二个安装apache的服务器主机ip为172.25.254.72
vim /var/www/html/index.html
关闭火墙
squid服务主机设置:
yum install squid -y
vim /etc/squid/squid.conf ##编辑配置文件
56 http_access allow all
59 http_port 80 vhost vport
60 cache_peer 172.25.254.200 parent 80 0 proxy-only no-query round-robin originserver name=web1
62 cache_peer 172.25.254.11 parent 80 0 proxy-only no-query round-robin originserver name=web2 weight=2
#weight=2修改权重,默认都为1,把11改为2,会访问两次11再去访问200一次
#no-query 因为没有邻居或者伙伴所以不访问
#round-robin 轮循方式访问,默认各一次
#originserver 前面所写内容为一个web服务器
#name 为了调度区分两台服务器的名称,保证轮循方式的稳定
63 cache_peer_domain web1 web2 www.westos.com
#在web1和web2之间被调度的域名网址
65 cache_dir ufs /var/spool/squid 100 16 256
关闭火墙
测试:
打开一个主机,做好本地解析,写上调度器的ip
vim /etc/vhosts
172.25.254.105 www.westos.tom
打开网址 输入www.westos.com