Nginx开启gzip和缓存提高页面加载速度
时间:2019-12-04
本文章向大家介绍Nginx开启gzip和缓存提高页面加载速度,主要包括Nginx开启gzip和缓存提高页面加载速度使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天发现页面多次请求数据且加载的数据大,需要等待的时间很长
记得Nginx有gzip,可以对数据进行压缩
gzip是nginx服务器的ngx_http_gzip_module模块提供的在线实时数据压缩功能。
通过开启gzip功能,可对服务器响应的数据进行压缩处理,变成体积更小的二进制文件。在高PV的网站应用中,可以节省海量的带宽。
1.下载Nginx
系统环境win7
解压
打开cmd,到达当前目录 ,使用命令启动或停止服务
(1)启动
nginx
start nginx
是否启动成功,使用命令 tasklist /fi "imagename eq nginx.exe"
(2)停止
需要开启另一个cmd窗口
nginx -s stop(快速停止,无输出)
nginx -s quit(完整有序停止,无输出)
taskkill /f /t /im nginx.exe(使用taskkill,输出如图)
再次查看Nginx启动信息
2.添加反向代理,开启gzip
以前的服务端口为3001
upstream nodejs { server 127.0.0.1:3002; } server { listen 3001; server_name 127.0.0.1; location / { proxy_pass http://nodejs; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary off; gzip_disable "MSIE [1-6]\."; } }
3.修改以前的nodejs服务端口为3002
4.测试gzip功能
启动nodejs
启动nginx
再次请求数据
换成另一个加载
开启gizip前
开启gzip后
响应数据会经过压缩后再返回客户端,由客户端负责解压缩再渲染
在开启gzip压缩前
注:
不对压缩率较小文件进行压缩,耗费的cpu资源很高,却没什么压缩效果
不对太小的文件进行压缩
5.开启缓存
upstream nodejs { server 127.0.0.1:3002; } server { listen 3001; server_name 127.0.0.1; location / { proxy_pass http://nodejs; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary off; gzip_disable "MSIE [1-6]\."; expires 3m; } }
开启缓存后第一次请求
以后再请求
原文地址:https://www.cnblogs.com/baby123/p/11983056.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解I/O多路转接之select
- 详解I/O多路转接之poll&epoll
- 如何科学修改 node_modules 里的文件
- C++之继承相关问题——菱形继承&继承
- 【redis】来吧,展示一下redis 发布-订阅模式
- rsync 用法教程
- 【译】构建RESTful API的13种最佳实践
- 如何优雅的实现消息通信?
- koa框架实现微信公众号回复用户小程序卡片
- frida实战笔记
- 让项目效果更酷!ThingJS地图新功能——3D线条渲染
- 重磅来袭:腾讯云ClickHouse支持数据均衡服务
- 聊聊claudb的set command
- Flutter通过BasicMessageChannel与Android iOS 的双向通信
- MySQL案例:binlog_row_image如何取舍