Flask部署后重启Nginx报错unknown directive “brotli”如何解决
问题根因
从Nginx服务状态日志可以直接定位故障:你当前安装的Nginx未加载brotli压缩模块,但/etc/nginx/conf.d/brotli.conf配置文件的第一行调用了brotli相关指令,导致Nginx配置校验失败,服务无法启动。该故障和sites-enabled、sites-available目录下的配置无关。
解决步骤
你可以根据自身需求选择以下任意一种方案:
方案1:保留brotli压缩功能,安装对应Nginx模块
- 对应你的操作系统执行安装命令:
- Debian/Ubuntu 系列:
sudo apt install libnginx-mod-http-brotli-filter libnginx-mod-http-brotli-static - CentOS/RHEL 系列:先添加EPEL源,再执行
sudo dnf install nginx-mod-http-brotli
- Debian/Ubuntu 系列:
- 安装完成后校验Nginx配置是否合法:
sudo nginx -t - 当输出显示
test is successful后,重启Nginx即可:sudo systemctl restart nginx
- 对应你的操作系统执行安装命令:
方案2:不需要brotli功能,直接禁用对应配置
- 重命名配置文件,让Nginx不再加载该规则:
sudo mv /etc/nginx/conf.d/brotli.conf /etc/nginx/conf.d/brotli.conf.bak - 校验Nginx配置是否合法:
sudo nginx -t - 配置校验通过后重启Nginx即可:
sudo systemctl restart nginx
- 重命名配置文件,让Nginx不再加载该规则:
提示:所有操作前建议先备份对应配置文件,避免误操作丢失自定义规则
内容的提问来源于stack exchange,提问作者Ali ÜSTÜNEL
相关产品推荐
相关产品推荐

