启用 http_limit_conn_module 需在编译阶段显式开启:宝塔中勾选“连接限制模块”后重新编译,或源码编译时添加 --with-http_limit_conn_module 参数;启用后需在 http 块顶部配置 limit_conn_zone。

要在 Nginx 源码编译时启用 http_limit_conn_module,关键不是加参数或改配置,而是确保编译阶段显式开启该模块支持。宝塔面板默认不勾选它,直接写配置会报 unknown directive "limit_conn_zone" 错误。
确认当前 Nginx 是否已启用模块
执行命令检查:
nginx -V 2>&1 | grep -o with-http_limit_conn_module
如果有输出,说明已启用;无输出则必须重新编译。
宝塔中重新编译 Nginx(推荐方式)
进入宝塔面板 → 软件商店 → 找到已安装的 Nginx → 点击「设置」→「编译安装」:
- 勾选「连接限制模块」(名称可能为“HTTP 连接数限制”或类似表述)
- 其他选项保持默认,点击「开始编译」
- 编译耗时约 5–15 分钟,期间网站会短暂不可用
- 完成后再次运行
nginx -V | grep limit_conn验证是否出现with-http_limit_conn_module
手动源码编译(适用于非宝塔环境)
若自行下载源码编译,configure 阶段需加入:
--with-http_limit_conn_module- 完整示例:
./configure --prefix=/usr/local/nginx --with-http_limit_conn_module [其他所需模块] - 之后执行
make && make install
注意几个易错点
模块启用后,配置才可能生效,但还需注意:
-
limit_conn_zone必须放在nginx.conf的http {块最顶部,不能在站点配置文件里、也不能在server块内 - 推荐使用
$binary_remote_addr而非$remote_addr,节省内存 - CDN 环境下需配合
real_ip指令还原真实 IP,否则限制的是 CDN 节点 IP











