中小型web网站架构初探之四:前端SQUID高速WEB缓存服务器的搭建

简介: SQUID+GZIP+IIS的完美结合!SQUID如果不能搞定GZIP,那么肯定流量虚高的,所以SQUID高速WEB缓存服务器的关键问题在于搞定GZIP。

SQUID+GZIP+IIS的完美结合!

SQUID如果不能搞定GZIP,那么肯定流量虚高的,所以SQUID高速WEB缓存服务器的关键问题在于搞定GZIP。

以下是实例过程

为了原生支持GZIP,4899网通WEB缓存服务器用了 SQUID3.0 FOR WINDOWS 

下载地址 http://www.acmeconsulting.it/SquidNT.html

1.建立SQUID缓存目录在 d:/newcache 给user用户以完全控制权限

2. 把squid压缩包解压到C盘目录,进入squid/etc目录,复制一分,然后重命名把原文件的.default全去掉

3.开始编辑 squid.conf

a.我们对外用80端口,所以用批量替换 3128 替换为 80
b.搜索 http_port 80 后面加上 vhost 变成

程序代码 程序代码

http_port 80 vhost
icp_port 3130
cache_mem 433M (取内存的1/3+100M)
cache_dir aufs d:/newcache 12000 16 256
maximum_object_size 10240 KB
maximum_object_size_in_memory 6000 KB
memory_pools on
memory_pools_limit 100 MB
cache_swap_high 98%
cache_swap_low 90%
error_directory c:/squid/share/errors/Simplify_Chinese
hosts_file c:/windows/system32/drivers/etc/hosts
cache_peer www.4899.com parent 80 0 no-query originserver no-digest name=cache0
cache_peer 125.46.39.22 parent 8080 0 no-query originserver no-digest name=cache1
cache_peer 4899-img.mfcdn.com parent 8080 0 no-query originserver no-digest name=cache2
cache_peer 4899-flash.mfcdn.com parent 8080 0 no-query originserver no-digest name=cache3
cache_peer_domain cache0 www.4899.com 4899wt.4899.com
cache_peer_domain cache1 125.46.39.22
cache_peer_domain cache2 4899-img.mfcdn.com
cache_peer_domain cache3 4899-flash.mfcdn.com
#配置本机squid允许接受访问的域名,请注意name的对应
acl Safe_ports port 80
acl Safe_ports port 81
acl Safe_ports port 3130
http_access allow all
#允许以上端口的代理



期间找到 http_access deny all #掉他

4.建立缓存目录,修改hosts
通过cmd进入 c:/squid/sbin
squid -z
将建好缓存
squid -i
将squid注册为系统服务,在服务里,找到他,设置自动启动

进入 c:/windows/system32/drivers/etc/ 编辑 hots文件,将 www.4899.com 指向源服务器电信ip
61.152.249.77 www.4899.com

5.启动squid服务,在服务中启动他

6.为了使squid能响应iis的GZIP,要在源服务器做一定修改

a.经典的IIS启用GZIP的教程如下:

复制 C:/Windows/system32/inetsrv/metabase.xml 到另外的备份文件夹中.

在开始菜单中启动 Internet 信息服务(IIS)管理器,右键点击“网站”属性,打开“服务”选项卡,勾选“HTTP 压缩”的两个选项。“临时目录”和“临时目录最大容量”可根据需要自行设置。设置完成后点击确定。

右键点击“网站”下方的 “Web服务扩展”,添加一个新的Web服务扩展,扩展名填写为“HTTP Compression”或其他,都可以。“要求的文件”添加:c:/windows/system32/inetsrv/gzip.dll ,并勾选“设置扩展状态为允许”,完成后点击确定。

在开始菜单中运行 notepad C:/Windows/system32/inetsrv/metabase.xml ,打开metabase.xml 文件,请在任何改动前再次确认该文件已经备份。

搜索并找到 metabase.xml 文件中的 <IIsCompressionScheme    片段中的 HcScriptFileExtensions,依照原有文件的格式添加你希望进行 HTTP 压缩的文件扩展名,静态文件HcFileExtensions可添加 JS,CSS 等; 动态文件 HcScriptFileExtensions 可添加"ASPX""ASMX",如下:

<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
    HcCompressionDll="%windir%/system32/inetsrv/gzip.dll"
    HcCreateFlags="0"
    HcDoDynamic

Compression="TRUE"
    HcDoOnDemandCompression="TRUE"
    HcDoStaticCompression="FALSE"
    HcDynamicCompressionLevel="9"
    HcFileExtensions="htm
     html
     js
     css
     txt"
    HcOnDemandCompLevel="10"
    HcPriority="1"
    HcScriptFileExtensions="asp
     aspx
     asmx
     dll
     exe"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
    HcCompressionDll="%windir%/system32/inetsrv/gzip.dll"
    HcCreateFlags="1"
    HcDoDynamicCompression="TRUE"
    HcDoOnDemandCompression="TRUE"
    HcDoStaticCompression="TRUE"
    HcDynamicCompressionLevel="9"
    HcFileExtensions="htm
     html
     js
     css
     txt"
    HcOnDemandCompLevel="10"
    HcPriority="1"
    HcScriptFileExtensions="asp
     aspx
     asmx
     dll
     exe"
>
</IIsCompressionScheme>

注意“Compression/deflate”和“Compression/gzip”两个片段都需要修改。动态压缩等级,HcDynamicCompressionLevel 建议设置为“9”
如果你的服务器上某一个Web站点不希望启用 IIS 压缩,请运行以下脚本:

cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoStaticCompression False
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoDynamicCompression False

如果想增加启用 HTTP 压缩的文件类型,请运行以下脚本:

"" 中为文件扩展名,别忘了把原有的扩展名加上。

静态文件压缩:

CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html" "txt" "doc" "ppt" "xls"

CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcFileExtensions "htm" "html" "txt" "doc" "ppt" "xls"

动态文件压缩:

CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "asp" "aspx" "asmx" "dll" "exe" "php"

CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "asp" "aspx" "asmx" "dll" "exe" "php"

将site#替换为该 Web 站点的 ID。Web 站点的 ID 是什么到“日志记录属性”中看一下日志记录的“日志文件名”前面的路径就知道了。

运行以上脚本前务必备份,运行后再次执行“IISReset”使生效.

现在看一下 HTTP 压缩后的效果吧:

测试 HTTP 压缩效果的工具:

http://www.pipeboost.com/

b.做适当修改,以适应squid缓存需要

在开始菜单中运行 notepad C:/Windows/system32/inetsrv/metabase.xml ,打开metabase.xml 文件,请在任何改动前再次确认该文件已经备份

HcNoCompressionForHttp10="TRUE"
HcNoCompressionForProxies="TRUE"

上面这俩改成FALSE

然后查找 HcDoDynamicCompression 也要改成 FALSE,这实际上是关闭了动态加速,以4899小游戏网站配置SQUID+GZIP的经验,HcDoDynamicCompression="TRUE"时,SQUID缓存动态文件会出现问题,关了就好了。

目录
相关文章
|
5月前
|
并行计算 前端开发 JavaScript
Web Worker:让前端飞起来的隐形引擎
在现代 Web 开发中,前端性能优化是一个至关重要的课题,尤其是对于计算密集型的应用,如图像处理、视频处理、大规模数据分析等任务。单线程的 JavaScript 引擎常常成为性能瓶颈,导致应用变得迟缓。Web Worker,作为一种强大的技术,使得前端能够在后台进行并行计算,从而实现高效的任务处理,不影响主线程的运行和用户的交互体验。
519 108
|
8月前
|
存储 机器学习/深度学习 数据库
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
1274 61
|
5月前
|
运维 监控 安全
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
150 0
|
7月前
|
Web App开发 编解码 移动开发
零基础音视频入门:你所不知道的Web前端音视频知识
本文回顾了Web端音视频的发展历程,同时还介绍了视频的编码、帧率、比特率等概念,提到了Canvas作为视频播放的替代方案,以及FFmpeg在音视频处理中的重要作用等知识。
236 1
|
6月前
|
存储 安全 虚拟化
全面解析服务器虚拟化:云计算时代的核心技术架构
服务器虚拟化是云计算的核心技术,通过资源池化提升IT效率。本文详解其原理、部署优势及在数字化转型中的关键作用,涵盖技术架构、应用场景与选型指南,助力企业构建高效灵活的云环境。
708 0
|
10月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
10月前
|
存储 机器学习/深度学习 应用服务中间件
阿里云服务器架构解析:从X86到高性能计算、异构计算等不同架构性能、适用场景及选择参考
当我们准备选购阿里云服务器时,阿里云提供了X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等多种架构,每种架构都有其独特的特点和适用场景。本文将详细解析这些架构的区别,探讨它们的主要特点和适用场景,并为用户提供选择云服务器架构的全面指南。
1089 18

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    712
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    308
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    263
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    216
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    316
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    456
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    201
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    147
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    214
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    290