Squid代理服务器应用(我从远方赶来,赴你一面之约)(三)

本文涉及的产品
.cn 域名,1个 12个月
简介: Squid代理服务器应用(我从远方赶来,赴你一面之约)(三)

六、Squid日志分析


#安装图像处理软件包
yum install -y pcre-devel gd gd-devel
#创建目录
mkdir /usr/local/sarg
#上传并解压
tar zxvf sarg-2.3.7.tar.gz -C /opt/
cd /opt/sarg-2.3.7
./configure --prefix=/usr/local/sarg \
--sysconfdir=/etc/sarg \        #配置文件目录,默认是/usr/local/etc
--enable-extraprotection        #额外安全防护


#修改配置文件
vim /etc/sarg/sarg.conf
--7行--取消注释
access_log /usr/local/squid/var/logs/access.log  #指定访问日志文件
--25行--取消注释
title "Squid User Access Reports"     #网页标题
--120行--取消注释,修改
output_dir /var/www/html/sarg      #报告输出目录
--178行--取消注释
user_ip no            #使用用户名显示
--184行--取消注释,修改
topuser_sort_field connect reverse      #top排序中,指定连接次数采用降序排列,升序是normal
--190行--取消注释,修改
user_sort_field connect reverse      #对于用户访问记录,连接次数按降序排序
--206行--取消注释,修改
exclude_hosts /usr/local/sarg/noreport    #指定不计入排序的站点列表的文件
--257行--取消注释
overwrite_report no         #同名同日期的日志是否覆盖
--289行--取消注释,修改
mail_utility mailq.postfix        #发送邮件报告命令
--434行--取消注释,修改
charset UTF-8          #指定字符集UTF-8
--518行--取消注释
weekdays 0-6          #top排行的星期周期
--525行--取消注释
hours 0-23            #top排行的时间周期
--633行--取消注释
www_document_root /var/www/html      #指定网页根目录


#添加不计入站点文件,添加的域名将不被显示在排序中
touch /usr/local/sarg/noreport
#优化路径
ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
#验证
yum install httpd -y
systemctl start httpd
#运行
sarg    #启动一次记录
浏览器访问 http://192.168.109.132/sarg ,查看sarg报告网页。






七、反向代理


如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的 Web 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。


7.1 工作机制

●缓存网页对象,减少重复请求


●将互联网请求轮训或按权重分配到内网Web服务器


●代理用户请求,避免用户直接访问Web服务器,提高安全


7.2 架构图


7.3 配置

实验环境

代理服务器

centos7-2

192.168.109.132

节点服务器1

centos7-1 192.168.109.131

节点服务器2

centos7-3

192.168.109.133


w7 192.168.109.200
vim /etc/squid.conf
......
--60行--修改,插入
http_port 192.168.109.132:80 accel vhost vport
cache_peer 192.168.109.131 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1
cache_peer 192.168.109.133 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
cache_peer_domain web1 web2 www.stevelu.com
#表示对www.stevelu.com的请求,squid向192.168.109.131和192.168.109.133的80端口发出请求


1.http_port 80 accel vhost vport #squid从一个缓存变成了一个Web服务器反向代理加速模式,这个时候squid在80端口监听请求,同时和web server的请求端口(vhost vport)绑定,这个时候请求到了squid,squid是不用转发请求的,而是直接要么从缓存中拿数据要么向绑定的端口直接请求数据。

2.accel :反向代理加速模式

3.vhost :支持域名或主机名来表示代理节点

4.vport :支持IP和端口来表示代理节点

5.parent :代表为父节点,上下关系,非平级关系

6.80 :代理内部web服务器的80端口

7.0 :没有使用icp(电信运营商),表示就一台squid服务器

8.no-query :不做查询操作,直接获取数据

9.originserver :指定是源服务器

10.round-robin :指定 squid 通过轮询方式将请求分发到其中一台父节点

11.max_conn :指定最大连接数

12.weight : 指定权重

13.name :设置别名

#清空之前透明模式配置的 iptables 规则
iptables -F
iptables -t nat -F
#关闭httpd
systemctl stop httpd       #防止 httpd 服务使用的 80 端口号和 squid 反向代理配置的监听端口冲突
#重启服务
systemctl restart squid
#后端节点服务器设置
yum install -y httpd
systemctl start httpd
#节点1:
echo "this is test01" >> /var/www/html/index.html
#节点2:
echo "this is test02" >> /var/www/html/index.html
#客户机的域名映射配置
修改 C:\Windows\System32\drivers\etc\hosts 文件
192.168.109.1 www.stevelu.com
浏览器不开启代理访问 http://www.stevelu.com
查看缓存命中情况 
tailf /usr/local/squid/var/logs/access.log
1631164427.547      0 192.168.80.200 TCP_MEM_HIT/200 381 GET http://www.stevelu.com/ - HIER_NONE/- text/html




测试,在客户机中设置本地域名,写入192.168.109.132 www.stevelu.com





此时有缓存在服务器中,刷新很久都在访问节点2,我们关闭节点2



缓存服务器无法体现负载均衡,因为有缓存


总结


这些实验中要注意网关问题


1.代理服务器是什么?

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


2.如何实现代理?


代替客户机向网站请求数据,从而可以隐藏用户的真实IP地址。

将获得的网页数据(静态Web元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应。


3.有哪些代理方式?


传统代理(正向代理)

透明代理

反向代理

目录
相关文章
|
19天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
44 2
|
1天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
15天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
16天前
|
存储 缓存 前端开发
如何优化 SSR 应用以减少服务器压力?
如何优化 SSR 应用以减少服务器压力?
|
24天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
19天前
|
机器学习/深度学习 人工智能 边缘计算
高算力服务器的应用场景
【10月更文挑战第18天】高算力服务器作为现代信息社会不可或缺的计算资源,正广泛应用于各行各业。从人工智能到科学研究,从智能交通到数字孪生,它为复杂的计算任务提供了不可替代的支持。
26 0
|
30天前
|
监控 Java 关系型数据库
构建高效可靠的服务器端应用
【10月更文挑战第6天】构建高效可靠的服务器端应用
|
2天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
8天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
40 9
|
4天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
下一篇
无影云桌面