CentOS 8 使用动态模块方式安装并加载 Nginx 模组 ngx_brotli 然后启用 brotli 压缩

本文指导如何在CentOS 8系统上使用动态模块方式安装并加载Nginx的ngx_brotli模块,以启用Brotli压缩。详细步骤包括获取ngx_brotli和Nginx源码,动态模块加载,以及配置项的设置,以实现高效的数据压缩。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目地址:Github 仓库地址

ngx_brotli

Brotli是一种通用无损压缩算法,它结合了LZ77算法的现代变体、Huffman编码和二阶上下文建模来压缩数据,其压缩比可与目前可用的最佳通用压缩方法相媲美。 它在速度上与 deflate 相似,但提供了更高的压缩率。

注意:该压缩编码仅可用于 https 通信。

ngx_brotli 包含两个模块:

  • ngx_brotli filter module - 用于动态压缩响应体。
  • ngx_brotli static module - 用于使用预压缩的 .br 文件进行服务(静态站点)。

安装方法

获取 ngx_brotli

  1. 确保你安装了 git,如果没有,使用命令安装:
$ yum -y install git
  1. 从仓库获取 ngx_brotli
$ git clone https://github.com/google/ngx_brotli.git

如果服务器位于国内,建议使用镜像:

$ git clone https://gitee.com/xlsw/ngx_brotli.git
  1. 初始化子模块
$ cd ngx_brotli
$ git submodule update --init 
$ cd ~

获取 Nginx 源码

  1. 如果你已经安装了 Nginx,请查看版本:
$ nginx -v

本示例已安装 nginx 版本为:

nginx version: nginx/1.20.1

安装Nginxngx_http_v2_module(HTTP/2模块)通常依赖于你的Nginx发行版和操作系统。以下是通用的安装步骤,但具体可能会因你的环境而异: 1. **检查兼容性**:首先确保你的Nginx版本支持HTTP/2。官方文档会列出各个版本支持的模块。比如,Nginx从1.12版本开始原生支持HTTP/2。 2. **通过包管理器安装**:如果是Debian、Ubuntu这样的基于apt的Linux系统,可以使用以下命令安装: ``` sudo apt-get update sudo apt-get install nginx-extras ``` 或者对于RPM-based系统(如CentOS),可以尝试: ``` sudo yum install epel-release sudo yum install nginx-mod-http2 ``` 3. **源码安装**:如果你是从源代码编译Nginx,需要下载ngx_http_v2_module的源码编译。首先解压Nginx源码,然后添加模块,例如: ``` git clone https://github.com/openresty/lua-nginx-module.git git clone https://github.com/nginx/http2.git ``` 然后在configure脚本中指定这两个模块,接着编译和安装。 4. **配置文件**:安装完成后,需要在Nginx配置文件中启用HTTP/2模块配置相应的监听端口和SSL证书等,例如: ```conf http { ... server { listen 443 ssl; ssl_protocols TLSv1.2 TLSv1.3; # 添加TLSv1.2和TLSv1.3 ssl_prefer_server_ciphers on; ... location / { proxy_pass http2_pass; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } } ``` 5. **重启服务**:安装和配置完成后,重启Nginx使新配置生效: ``` sudo service nginx restart ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值