温馨提示×

apache在centos如何限速

小樊
48
2026-10-14 18:16:21
栏目: 智能运维

在 CentOS 上给 Apache 做限速,常见有几种方式,从「Apache 自身」到「系统层」都可以。下面按常用程度给你说明。


一、Apache 自身限速(最推荐)

1️⃣ 使用 mod_ratelimit(Apache 2.4+,CentOS 7/8 默认支持)

1. 确认模块已启用

httpd -M | grep ratelimit

如果有 ratelimit_module,说明已启用。

如未启用:

sudo vi /etc/httpd/conf.modules.d/00-base.conf

确保有:

LoadModule ratelimit_module modules/mod_ratelimit.so

重启:

sudo systemctl restart httpd

2. 配置限速(示例)

在虚拟主机或目录中:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html

    <Location />
        SetOutputFilter RATE_LIMIT
        SetEnv rate-limit 500
    </Location>
</VirtualHost>

说明:

  • rate-limit 500 → 500 KB/s
  • 只对响应输出限速(下载)
  • 不支持上传限速

2️⃣ 使用 mod_bw(第三方模块,功能更强)

适合需要:

  • 按 IP 限速
  • 按文件类型限速
  • 上传/下载都限

安装(CentOS)

yum install mod_bw

配置示例

<IfModule mod_bw.c>
    BandWidthModule On
    ForceBandWidthModule On
    BandWidth all 500000
    MinBandWidth all 100000
</IfModule>

含义:

  • 总带宽:500 KB/s
  • 最小保证:100 KB/s

二、按 IP / 目录限速(Directory 方式)

<Directory "/var/www/html/download">
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 200
</Directory>

只对 /download 目录限速 200 KB/s


三、系统层限速(不依赖 Apache)

如果 Apache 限速不够,可用 tc(流量控制)

tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

⚠️ 会影响整台服务器网络,不推荐 Web 服务器常用


四、推荐方案总结

场景 推荐方式
简单下载限速 mod_ratelimit
精确控制/IP mod_bw
整个服务器 tc

如果你能告诉我:

  • CentOS 版本
  • Apache 版本
  • 是下载限速还是上传限速
  • 是全局还是某个目录

我可以直接给你一份可直接用的配置。

0 踩