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

目录
相关文章
|
1月前
|
缓存 监控 定位技术
|
26天前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
39 1
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
18天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
26天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
45 6
|
29天前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
49 4
|
1月前
|
存储 缓存 安全
在 Service Worker 中配置缓存策略
Service Worker 是一种可编程的网络代理,允许开发者控制网页如何加载资源。通过在 Service Worker 中配置缓存策略,可以优化应用性能,减少加载时间,提升用户体验。此策略涉及缓存的存储、更新和检索机制。
|
1月前
|
存储 分布式计算 固态存储
阿里云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个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
1月前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
65 3
|
1月前
|
存储 缓存 固态存储
阿里云服务器2核8G、4核16G、8核32G配置租用收费标准与活动价格参考
2核8G、8核32G、4核16G配置的云服务器处理器与内存比为1:4,这种配比的云服务器一般适用于中小型数据库系统、缓存、搜索集群和企业办公类应用等通用型场景,因此,多为企业级用户选择。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
1月前
|
存储 编解码 安全
阿里云服务器2核4G、4核8G、8核16G配置租用收费标准与活动价格参考
通常情况下,个人和一般企业用户在购买阿里云服务器时比较喜欢购买2核4G、4核8G、8核16G等配置,这些配置既能满足各种图文类中小型网站和应用又能满足企业网站应用、批量计算、中小型数据库系统等场景,2核4G配置适合新手入门或初创企业,4核8G与8核16G兼具成本与性能优势,适合通用场景,本文介绍这些配置的最新购买价格,包含原价收费标准和最新活动价格。
下一篇
DataWorks