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

目录
相关文章
|
3天前
|
存储 弹性计算 人工智能
2025年阿里云企业云服务器ECS选购与配置全攻略
本文介绍了阿里云服务器的核心配置选择方法论,涵盖算力需求分析、网络与存储设计、地域部署策略三大维度。针对不同业务场景,如初创企业官网和AI模型训练平台,提供了具体配置方案。同时,详细讲解了购买操作指南及长期运维优化建议,帮助用户快速实现业务上云并确保高效运行。访问阿里云官方资源聚合平台可获取更多最新产品动态和技术支持。
|
3月前
|
缓存 监控 定位技术
|
2天前
|
存储 人工智能 缓存
怎么根据自己的业务选择阿里云服务器配置大小?
本文指导如何根据业务需求精准选择阿里云服务器配置,涵盖个人轻量级至企业级、计算密集型等场景,推荐不同实例类型、存储与带宽方案,并提供成本优化策略,如包年包月节省成本、按需升级配置及选用性价比高的自研ARM架构实例。帮助用户在数字化转型中实现性能与成本的平衡。 注:以上配置与价格基于阿里云2025年官方数据,实际信息可能有所调整,请以官网实时页面为准。
|
2天前
|
人工智能 运维 监控
2025年阿里云服务器配置选择全攻略:CPU、内存、带宽与系统盘详解
在2025年,阿里云服务器以高性能、灵活扩展和稳定服务助力数字化转型,提供轻量应用服务器、通用型g8i实例等多样化配置,满足个人博客至企业级业务需求。针对不同场景(如计算密集型、内存密集型),推荐相应实例类型与带宽规划,强调成本优化策略,包括包年包月节省成本、ESSD云盘选择及地域部署建议。文中还提及安全设置、监控备份的重要性,并指出未来可关注第九代实例g9i支持的新技术。整体而言,阿里云致力于帮助用户实现性能与成本的最优平衡。 以上简介共计238个字符。
|
2天前
|
存储 人工智能 监控
新手小白购买阿里云服务器省钱策略、配置选型与注意事项
针对初次使用阿里云服务器的用户,本文提供系统化的指导方案以优化成本并满足业务需求。首先介绍配置选型,包括实例类型(通用型、计算型、内存型)与基础配置建议;其次阐述省钱策略,如企业认证、合理选择计费模式及批量购买;最后提醒注意事项,涵盖带宽存储规划、地域网络优化及安全管理。新手可通过明确需求、选择配置、优化购买和持续监控四步快速上手,实现高效稳定的云端部署。 注:推荐配置基于2025年阿里云产品体系,具体信息请参考官网。
|
5天前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
3月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
220 61
|
1月前
|
缓存 NoSQL Java
Mybatis学习:Mybatis缓存配置
MyBatis缓存配置包括一级缓存(事务级)、二级缓存(应用级)和三级缓存(如Redis,跨JVM)。一级缓存自动启用,二级缓存需在`mybatis-config.xml`中开启并配置映射文件或注解。集成Redis缓存时,需添加依赖、配置Redis参数并在映射文件中指定缓存类型。适用于查询为主的场景,减少增删改操作,适合单表操作且表间关联较少的业务。
|
2月前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
3月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
73 2
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站