网站首页 > 精选教程 正文
前言
本教程主要针对Centos7环境,其他更多环境安装教程,欢迎评论区补充说明。
截至今天(2023年1月8号)为止,在Centos7环境中使用yum一键安装nginx最新稳定版(nginx-1.22.1)已经内置gzip静态压缩,但是还是不支持brotli压缩。目前主流浏览器均已支持http2.0以及brotli压缩,接下来我来教大家使用nginx开启http2.0以及brotli压缩提升网站加载速度。
安装下载工具
yum install -y wget git
安装编译工具以及库
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
下载Nginx、pcre 源码
相比较《nginx 源码安装并开启gzip静态压缩》这篇教程,这里我使用了shell并行执行命令nginx源码使用国内镜像提升下载速度。
注意:nginx、pcre、ngx_brotli源码必须在同一级目录下!
wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz & wget https://mirrors.huaweicloud.com/nginx/nginx-1.22.1.tar.gz & wait
解压Nginx、pcre源码
串行执行shell命令,可以直接复制以下所有代码并执行。
tar -xvf nginx-1.22.1.tar.gz;tar -xvf pcre-8.45.tar.gz
下载ngx_brotli源码
串行执行shell命令,可以直接复制以下所有代码并执行。
git clone https://gitee.com/eagle_0810/ngx_brotli.git &&
cd ./ngx_brotli &&
git submodule update --init
安装编译nginx
安装目录指定 /usr/local/webserver/nginx
同时支持gzip静态压缩模块串行执行shell命令,可以直接复制以下所有代码并执行。
cd nginx-1.22.1 &&
./configure --prefix=/usr/local/webserver/nginx --conf-path=/usr/local/webserver/nginx/conf/nginx.conf --error-log-path=/usr/local/webserver/nginx/logs/error.log --http-log-path=/usr/local/webserver/nginx/logs/access.log --pid-path=/usr/local/webserver/nginx/run/nginx.pid --with-http_stub_status_module --with-http_ssl_module --with-pcre=/pcre-8.45 --with-http_gzip_static_module --with-stream --with-http_v2_module --add-module=./ngx_brotli &&
make &&
make install
测试是否安装成功
/usr/local/webserver/nginx/sbin/nginx -V
设置http2.0以及brotli压缩
推荐添加到server模块中。
注意:必须开启https,配置ssl证书!可以使用openssl生成永久免费证书。
listen 80;
# 开启 https、http2.0
listen 443 ssl http2;
server_name test.jincheny.com;
# SSL配置
ssl_certificate /ssl/private.crt;
ssl_certificate_key /ssl/private.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 开启gzip静、动态压缩
gzip_static on;
gzip_http_version 1.1;
gzip_proxied expired no-cache no-store private auth;
gzip on;
gzip_min_length 1k;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
gzip_comp_level 4;
gzip_buffers 4 16k;
# 开启brotli静、动态压缩
brotli_static on;
brotli on;
brotli_comp_level 6;
brotli_buffers 16 8k;
brotli_min_length 1k;
brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
验证
上传带有brotli压缩后的前端源码,ETag显示如下图展示,则表示已经成功开启brotli静态压缩,ETag带有W/表示开启brotli动态压缩,另外协议上显示HTTP/2表示http2.0配置成功。
- 上一篇: Nginx源码分析—HTTP模块之TCP连接建立过程详解
- 下一篇: Nginx-config的配置
猜你喜欢
- 2024-09-22 T5大牛带你解读Spring核心源码—一小时手写SpringMVC!
- 2024-09-22 Nginx源码分析—HTTP模块之TCP连接建立过程详解
- 2024-09-22 nginx源码剖析—nginx进程模型
- 2024-09-22 Nginx的DNS解析详细过程分析(建议收藏)
- 2024-09-22 开源Superset在线设计图表框架源码解析
- 2024-09-22 熬夜怒肝!SpringCloud 源码之负载均衡 Ribbon,2W字长文深度分析
- 2024-09-22 Nginx源码剖析之内存池,与内存管理
- 2024-09-22 从网卡到应用层nginx,一个数据包经历了什么?
- 2024-09-22 Nginx源码从模块开发开始,不再对nginx源码发怵
- 2024-09-22 「源码分享」.NET Core前后端分离快速开发框架(Core.3.1+AntdVue)
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)