Squid 缓存服务器配置

简介: Squid 缓存服务器配置

随着网站访问人数越来越多,对体验的要求也越来越高,网站承受的并发和压力也越来越大,所以需要对网站和架构进行优化,优化的策略有很大,系统内核、程序、配置均衡、加入缓存等,使用 Squid 对架构进行缓存优化。
Squid cache(简称为 Squid)是一个流行的自由软件,它符合 GNU通用公共许可证。Squid 作为网页服务器的前置 cache 服务器,可以代理用户向 web 服务器请求数据并进行缓存,也可以用在局域网中,使局域网用户通过代理上网。Squid 主要设计用于在 Linux 一类系统运行。
简单的来说就是:用户请求 www 网站,经过 squid,squid 检查本地硬盘目录有没有这个文件的缓存;如果没有,squid 则去后端真实web 服务器获取该页面,返回给用户,同时在自己本地缓存一份,如果另外一个用户再访问同样请求页面时,squid 直接从本地返回。
squid 有 ufs, aufs, coss, diskd, null 五种存储机制,其中 ufs, aufs,
diskd 都是在文件系统上面保存很多小文件, coss 是 squid 自己实
现了一个简单的文件系统,可以使用一个大文件或者一个磁盘设备来
存储。null 则是给不想要磁盘缓存的情况准备的,coss 看起来好像很不错, 但是以前试验并不足够稳定,因此并不推荐使用。
对于一些老系统,使用 aufs 或者 diskd 是比较好的选择,如果系
统的线程库比较好(如 Linux,Solaris),那么使用 aufs。
 正式安装 squid
安装 squid 也非常简单,可以用源码安装,也可以使用 rpm、yum 安
装,这里使用 yum 安装,根据实际经验使用,squid 2.6 系列的 squid
比较稳定,可以考虑采用。
安装命令:yum install -y squid
创建 squid.conf 配置文件,内容如下:
http_port 80 accel vhost vport
cache_peer 192.168.149.130 parent 80 0 originserver name=wugk1
cache_peer 192.168.149.131 parent 80 0 originserver name=wugk2
cache_peer_domain wugk1 www.wugk1.com
cache_peer_domain wugk2 www.wugk2.com
visible_hostname localhost
forwarded_for off
via off
cache_vary on

acl config

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 8080 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl all src 0.0.0.0/0
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow all
acl PURGE method PURGE
http_access allow PURGE localhost
http_access deny PURGE

squid config 2014-03-25

cache_dir aufs /data/cache1 10240 16 256
cache_mem 4000 MBmaximum_object_size 8 MB
maximum_object_size_in_memory 256 KB
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern .(jpg|png|gif|mp3|xml|html|htm|css|js)
1440 50% 2880 ignore-reload
refresh_pattern . 0 20% 4320
 Squid 参数详解

vhost和vport表示支持虚拟主机和虚拟端口,如果再加上transparent

表示支持透明代理
http_port 80 accel vhost vport

cache_peer 表示如果本机缓存中找不到客户端请求的数据,则与后

端主机联系,以 parent 类型进行联系;
使用 HTTP 协议进行联系,联系端口是 80,orginserver 表示此服务器
是源服务器,name 表示别名。
cache_peer 192.168.149.128 parent 80 0 originserver name=wugk1
cache_peer 192.168.149.129 parent 80 0 originserver name=wugk2

设置别名所对应的域名,如果 cache_peer 中使用域名而不是 IP 的话;

那么 cache_peer_domain 中一定要用相同的域名,否则无法访问。cache_peer_domain wugk1 www.wugk1.com
cache_peer_domain wugk2 www.wugk2.com

设置缓存服务器名称

visible_hostname localhost
forwarded_for off
via off
cache_vary on

acl config

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 8080 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl all src 0.0.0.0/0
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny managerhttp_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost

设置访问控制,允许所有客户端访问上面设置的两个网站

http_access allow all

支持 purge 方式清除缓存

acl PURGE method PURGE
http_access allow PURGE localhost
http_access deny PURGE

squid config 2014-03-25

设置缓存文件夹的路径和参数,缓存机制为 aufs,10240 表示 10G,

目录下面分为 16 级,每级有 256 个目录
cache_dir aufs /data/cache1 10240 16 256

设置缓存内存大小,最大内存为 4g

cache_mem 4000 MB

设置硬盘中可缓存的最大文件大小

maximum_object_size 8 MB

设置内存中可缓存的最大文件大小

maximum_object_size_in_memory 256 KB
hierarchy_stoplist cgi-bin ?#当 squid 突然挂掉的时候,或者突然出现什么故障的时候,将 squid
在内存中的资料写到硬盘中
coredump_dir /var/spool/squid

<最小时间> <百分比> <最大时间>

refresh_pattern 用于确定缓存的类型,缓存过期时间,及百分比。

如果希望内容缓存 cache 后不删除,直到被主动用 purge 清除,可

以加 ignore-reload 选项
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern .(jpg|png|gif|mp3|xml|html|htm|css|js) 1440 50%
2880 ignore-reload
refresh_pattern . 0 20% 4320

目录
相关文章
|
6月前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
5月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
1727 1
|
6月前
|
存储 运维 安全
阿里云服务器2核4G与4核8G配置解析:实例规格、价格及选择指南
阿里云服务器2核4G和4核8G配置凭借其均衡的性能与性价比,成为中小企业及开发者群体的热门选择。通用算力型u1实例2核4G5M带宽80G ESSD Entry云盘特惠价199元1年,个人用户最低531.79元1年,4核8G配置价格最低的是通用算力型u1实例,活动价格为955.58元1年起,除此之外,还有计算型c7、c9i、c8y等计算型实例有2核4G与4核8G配置可选。具体配置还需要看想要购买的云服务器实例规格和配置及带宽大小。本文将结合2025年最新活动价格,深度解析阿里云服务器2核4G与4核8G配置的实例规格、适用场景及选择策略,以供参考。
|
6月前
|
机器学习/深度学习 存储 前端开发
阿里云服务器8核16G配置详解:热门实例规格、价格与选购指南
阿里云服务器8核16G配置,这样的配置能够满足大多数中小型网站、Web前端服务器以及计算密集型任务的需求。根据最新的收费标准及活动价格来看,云服务器8核16G配置收费标准最低的是经济型e实例,按量收费标准0.9元/小时,如果是需要年付的话,目前选择计算型c8y实例的活动价格为为2861.27元/1年起。本文为大家介绍8核16G配置的几款主要热门实例规格各自的性能与收费标准价格情况,以供选购参考。
|
5月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
527 11
|
5月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
5月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
5月前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。