You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Next.js/React应用至Hostinger VPS时Nginx Brotli指令报错求助

解决Nginx中Brotli指令未知的问题

问题根源

出现unknown directive "brotli"错误,核心原因是Nginx未加载Brotli模块——要么模块未安装,要么安装后未在配置中启用。AlmaLinux 8默认软件源中的Nginx不包含Brotli模块,直接安装常规包无法解决问题。

解决步骤

1. 安装带Brotli模块的Nginx

默认AppStream源的Nginx不带Brotli,需改用Nginx官方源的预编译包:

  • 卸载现有Nginx避免冲突:
    sudo dnf remove nginx -y
    
  • 安装Nginx官方源:
    sudo dnf install https://nginx.org/packages/almalinux/8/noarch/RPMS/nginx-release-almalinux-8-1.el8.ngx.noarch.rpm -y
    
  • 安装含Brotli模块的Nginx:
    sudo dnf install nginx-module-brotli -y
    

2. 启用Brotli模块

编辑Nginx主配置文件/etc/nginx/nginx.conf,在http块前添加模块加载指令:

sudo nano /etc/nginx/nginx.conf

在文件开头插入:

load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;

保存退出(按Ctrl+O回车确认,Ctrl+X退出)。

3. 校验Brotli配置

检查/etc/nginx/conf.d/brotli.conf的格式正确性,示例有效配置如下:

brotli on;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;
brotli_comp_level 6;

4. 测试并重启Nginx

  • 测试配置合法性:
    sudo nginx -t
    
  • 测试通过后重启Nginx:
    sudo systemctl restart nginx
    

Plesk环境额外注意事项

由于服务器搭载Plesk,需防止配置被面板覆盖:

  • 登录Plesk面板,进入工具与设置 > Web服务器设置,确认Nginx允许加载第三方模块。
  • 若全局配置易被Plesk覆盖,可在域名的Apache & Nginx设置 > 附加Nginx指令中添加Brotli配置,保障配置持久生效。

内容的提问来源于stack exchange,提问作者sunaina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 06:42:39