Linux之squid高速缓存服务器的介绍和相关配置

一、什么是squid?

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

二、squid服务器下载及配置

首先要保证我们需要部署squid服务器的主机有网络:
具体方法可以参考我之前的文章:Linux之网络配置

检测方法:

ping 114.114.114.114 
ping www.baidu.com

检测主机是否有网,已经DNS配置情况。
在这里插入图片描述

1、正向代理:

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

1、下载squid软件及更改相关配置文件

yum install squid -y

vim /etc/squid/squid.conf

http_access allow all

# Squid normally listens to port 3128
http_port 3128

# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

在这里插入图片描述

2、关闭防火墙、启动服务。

systemctl stop firewalld
systemctl start squid

3、测试

这里我们主机的squid高速缓存服务器的配置就完成了,那么怎么测试呢?

客户机:
在这里插入图片描述
经检测,客户机没有设定之前不能正常上网!我们现在在浏览器设定一下:

浏览器设置:

Edit-->Preferences-->Advanced-->Network-->Connection Settings--
-->Manual proxy configuration

填写:HTTP Rroxy:172.25.254.133  Port:3128 	勾选:Use this proxy server for all protocols

在这里插入图片描述
在浏览器地址栏输入:www.baidu.com
在这里插入图片描述
分析:网址访问成功,注意这里客户机是没有网络的,客户机把这个请求发给部署的squid服务器的主机上,主机去访问网址将内容缓存下来,客户机访问主机的缓存的内容。这就是正向代理!

2、反向代理

在计算机网络中,反向代理是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在。

与正向代理的区别:
前向代理作为客户端的代理,将从互联网上获取的资源返回给一个或多个的客户端,服务端(如Web服务器)只知道代理的IP地址而不知道客户端的IP地址;而反向代理是作为服务器端(如Web服务器)的代理使用,而不是客户端。客户端借由前向代理可以间接访问很多不同互联网服务器(簇)的资源,而反向代理是供很多客户端都通过它间接访问不同后端服务器上的资源,而不需要知道这些后端服务器的存在,而以为所有资源都来自于这个反向代理服务器。

1、服务器下载squid软件及更改相关配置文件

环境:
需要布置好一个充当后端服务器的squid服务,我们之前做的正向代理的主机可以充当后端服务器

服务器:

yum install squid -y

vim /etc/squid/squid.conf
# And finally deny all other access to this proxy
http_access allow all

# Squid normally listens to port 3128
http_port 80 vhost vport				##表明80是一个虚拟端口提供http服务
cache_peer 172.25.254.133 parent 80 0 proxy-only	##IP为后端服务器IP,80端口,无备用分服务器,只代理
# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

在这里插入图片描述

2、重启服务

systemctl restart squid

3、测试

在客户端设置本地解析:

vim /etc/resolv.conf
nameserver 172.25.254.233		##此处IP为服务器IP而不是后端服务器IP

在这里插入图片描述
在浏览器输入172.25.254.233:
在这里插入图片描述
在这里插入图片描述
这个测试页是后端服务器发布的内容,我们访问服务器的233IP也可以访问到,这就是反向代理。

3、CDN集群服务与负载均衡

1、什么是CDN?

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

2、什么是CDN集群服务与负载均衡?

Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器一样,
这多台服务器共同来为客户提供更高性能的服务。
集群更标准的定义是:一组相互独立的服务器在网络中表现为单一的系统,
并以单一系统的模式加以管理,此单一系统为客户工作站提供高可靠性的服务。

负载均衡的任务就是负责多个服务器之 间(集群内)实现合理的任务分配,
使这些服务器(集群)不会出现因某一台超负荷、而其他的服务器却没有充分发挥处理能力的情况。

3、部署CDN集群和负载均衡服务

环境:
需要至少两台部署了squid服务的后端服务器和至少一台服务器。

为了实验效果,我们两台后端服务器的发布内容不一致,注意这里在实际工作中,多台后端服务器的内容是一致的,用户访问时不会有什么差别,这里只是为了实验效果:

后端服务器1:

在这里插入图片描述
后端服务器2:
在这里插入图片描述
服务器233配置:

vim /etc/squid/squid.conf

# And finally deny all other access to this proxy
http_access allow all

# Squid normally listens to port 3128
http_port 80 vhost vport
cache_peer 172.25.254.133 parent 80 0 proxy-only name=web1 originserver round-robin weight=2
cache_peer 172.25.254.132 parent 80 0 proxy-only name=web2 originserver round-robin
cache_peer_domain web1 web2 www.westos.com
# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

name = web1 别名
originserver 说明web1为westos域名服务
round-robin 说明是轮询的
weight=2 轮询次数
在这里插入图片描述
重启服务:

systemctl restart squid

测试:
客户机更改本地解析:

vim /etc/hosts

172.25.254.233 www.westos.com

在这里插入图片描述
在客户机浏览器地址输入栏输入:www.westos.com
点击刷新!
在这里插入图片描述
在这里插入图片描述
分析:点击刷新后会发现,后端服务器133的内容会发布两次,后端服务器134的内容会发布一次,依次循环。服务机把请求发给133服务器两次,发给134一次,实现了负载均衡。在工作中我们的多台后端服务器的内容是一致的,用户多次访问时,请求发送到不同的后端服务器,使服务器的负载降低,也加快了访问速度!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值