文章目录

  • 一、前言
    • 1、为什么要进行网页压缩?
    • 2、网页压缩实现
    • 3、压缩功能参数
  • 二、实现网页压缩
  • 二、图片压缩

一、前言

1、为什么要进行网页压缩?

不管一个系统或网站的大与小,都存在相应的图片处理,生成缩略图、为图片加水印等等,如果涉及到APP端,这个图片的处理需求变得更加重要了,因为在目前看来,客户端的屏幕大小不一,会导致以下问题:

  • 图片过大导致APP加载图片速度慢;
  • 消耗用户过多流量。

在实际的企业当中,nginx服务器上的资源要尽可能的占用的空间少一点。实际上信息量大的网页和高清图片占用存储空间是非常大的,这样不利于服务器性能的优化。
因此我们要在服务器上面将网页和图片进行压缩,让客户端去下载就可以了。

2、网页压缩实现

Nginx性能优化功能: Gzip压缩(大幅度提高页面加载速度) ,开启Gzip压缩功能, 可以使网站的css、js 、xml、html 文件在传输时进行压缩,提高访问速度,进而优化Nginx性能。经过Gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会快得多。Gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器 都支持解析Gzip过的页面

3、压缩功能参数

gzip on 开启gzip压缩功能
gzip_ min_ length 1k 用于设置允许压缩的页面最小字节数
gzip_ buffers 416k 表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来储gzip压缩结果
zip_ http_ version 1.0 用于设置识别http协议版本,默认是1.1, 目前大部分浏览器已经支持gzip解压,但处理最慢,也比较消耗服务器CPU资源
gzip_ comp level 2 用来指定gzip压缩比,1压缩比最小,处理速度最快; 9压缩比最大,传输速度快,但处理速度最慢,使用默认即可
gzip_ types text/plain 压缩类型,是就对哪些网页文档启用压缩功能
gzip_ vary on 选项可以让前端的缓存服务器缓存经过gzip压缩的页面

二、实现网页压缩

步骤一:编辑nginx的默认发布文件/usr/local/nginx/html/index.html

cd /usr/local/nginx/html/
cat /etc/passwd > index.html
cat /etc/passwd >> index.html
cat /etc/passwd >> index.html
ll #查看index.html文件大小
nginx -s reload

web页面测试:

页面搜索172.25.1.1,按F12调出开发者工具,可以看出压缩之前的网页大小为4.44k


步骤二:修改配置文件/usr/local/nginx/conf/nginx.conf,设置压缩功能参数

vim /usr/local/nginx/conf/nginx.conf33     gzip  on;34     gzip_min_length 1k;35     gzip_comp_level 2;36     gzip_types  text/plain application/x-javascript  test/css  application/xml  vascript applic            ation/x-httpd/php  image/gif   image/png;##制定压缩的类型,线上配置时尽可能配置多的压缩类型nginx -s reload

步骤三:用curl测试Gzip是否成功开启试

curl -I -H "Accept-Encoding: gzip, deflate" "http://172.25.1.1/"

web页面测试:
F12打开页面管理信息
ctrl+shift+delete清除浏览器的缓存

二、图片压缩

步骤一:停止服务,重新编译。添加新的模块

cd nginx-1.17.8
make clean
./configure --prefix=/usr/local/nginx  --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_realip_module --with-http_image_filter_module=dynamic


编译报错:
./configure: error: the HTTP image filter module requires the GD library.
You can either do not enable the module or install the libraries.

解决办法:
安装gd.x86_64 和gd-devel-2.0.35-26.el7.x86_64.rpm
点击下载gd-devel安装包

yum install  -y gd.x86_64 gd-devel-2.0.35-26.el7.x86_64.rpm


重新编译:

./configure --prefix=/usr/local/nginx  --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_realip_module --with-http_image_filter_module=dynamic


步骤二:make编译

make


注意:不能make install

步骤三:替换原来的二进制文件,并将图像模块放到指定存放目录下

cd objs/
cp nginx  -f  /usr/local/nginx/sbin/nginx
mkdir /usr/local/nginx/modules
cp ngx_http_image_filter_module.so  /usr/local/nginx/modules


步骤四:编辑nginx配置文件
vim /usr/local/nginx/conf/nginx.conf

  1 load_module modules/ngx_http_image_filter_module.so;  #放在开头50         location /download/ {51             image_filter  resize 150  100;52             }



步骤五:下载一个图片并重启服务

nginx -s reload

步骤六:用curl测试图片成功压缩

curl -I -H "Accept-Encoding: gzip, deflate" "http://172.25.1.1:/test.jpg"


web页面测试:
F12打开页面管理信息
ctrl+shift+delete清除浏览器的缓存

Nginx服务(6)——实现Gzip网页压缩和图片压缩相关推荐

  1. 使用canvas进行图片压缩(前端图片压缩核心处理)

    一.原理:实际上就是利用canvas进行重新绘制 1.先将图片的file文件转成baseURL 2.创建一个image标签去接收文件获取图片的宽高和比例. 3.创建canvas画布设置画布的大小. 4 ...

  2. 如何使用电脑将图片进行压缩?图片压缩软件怎么操作?

    电脑压缩图片的软件怎样操作?我们在进行图片压缩的时候,对于压缩软件的选择及压缩的具体操作过程是很不熟悉的,电脑中的图片需要压缩,也不知道该如何下手,下面将方法分享给大家,一起来看看吧! 操作步骤: 步 ...

  3. CAD加载大影像、本地地图、地图服务、文件夹批量创建、图片压缩、导出KML、导入KML、坐标纠偏

    CAD广泛应用于各行各业,对矢量数据处理提供了很好的支持,但对大影像数据.地图服务支持较弱,针对以上不足,采用互联网技术.大数据处理技术等设计开发了该系统,可加载已有网络地图服务.本地网络地图服务.本 ...

  4. 用gulp实现代码压缩、图片压缩和项目打包

    在装好node.js的前提下第一步 在cmd命令行窗口运行 cd 到项目文件夹运行    npm init    运行完成后 第二步运行 npm install gulp --save-dev 第三部 ...

  5. 怎样改变照片大小?免费在线图片压缩方法

    平时我们经常会遇到一些线上申请资料需要上传证件照,一般我们会通过一些手机软件制作并下载适合规格的照片,但除了尺寸要求外,还会限制图片大小.如何才能既不改变图片原来的尺寸仅仅将照片压缩到100KB以下呢 ...

  6. node 压缩图片_图片压缩有困难?你肯定没用过这几款工具

    相信大家平常都喜欢使用手机去拍摄自己喜欢的照片,现在手机的拍照功能越来越先进,拍出的照片质量也越来越高,使得拍出的照片文件比较大,数量多了以后也会占据比较多的内存. 解决这种方式最好的办法就是对图片进 ...

  7. 360中不显示html中图片不显示图片,360浏览器网页不显示图片?如何显示出来

    有很多用户在使用360浏览器的时候碰到了无法显示图片的问题,那么要如何解决这个问题呢,今天就让我们一起来看看,如何使用浏览器正确的打开浏览器使用,帮助用户找出无法显示图片的原因和解决的办法,今天小编就 ...

  8. 图片压缩CompressUtil解析

    CompressUtil 流程图: CompressUtil 类 详解 public class CompressUtil { /*** 最终封装的压缩方法* @param imgPath* @ret ...

  9. jpg格式电脑怎么弄_电脑上怎么压缩JPG图片?两种方法帮你轻松解决

    我们在工作中经常会使用到各种图片,尤其做PPT时,需要大量的图片素材.为了方便保存与传输图片,首先我们要进行图片压缩,但在压缩时很容易导致图片质量受损.今天小编向大家分享两种图片压缩的方法,帮助大家在 ...

  10. 图片压缩软件在哪里下载

    如果你需要压缩图片,那么就少不了要用到图片压缩软件,但是我们选择一个合适的软件还是蛮重要的,下面小编告诉你图片压缩软件在哪里下载,这个压缩软件会帮助你有效压缩图片,具体的方法一起看看下面的介绍! 下载 ...

最新文章

  1. 谈谈“个人电子信息”的保护
  2. SAMBA的一些特殊设置
  3. Yii框架官方指南系列43——专题:URL(创建、路由、美化及自定义)
  4. (转)C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密
  5. tkinter绑定鼠标滚轮滚动事件
  6. C++ Primer 5th笔记(9)chapter9 顺序容器 get insert delete
  7. 主机关机后第二天就无法开机_iphone没电自动关机后无法充电和开机的解决办法!(亲身经历)...
  8. java泛型_Java核心知识 基础五 JAVA 泛型
  9. docker常见面试题_测试面试题集锦(四)| Linux 与 Python 编程篇(附答案)
  10. 【leetcode】1053. Previous Permutation With One Swap
  11. 招投标相关法律及条例
  12. Spring Cloud(Greenwich版)-02-服务注册与服务发现-Eureka入门
  13. MacBook 自带输入法 中英文切换 搜狗输入法 安装 配置
  14. 基于Docker从零搭建Prometheus监控报警系统
  15. html5 plus 保存图片,H5+app点击图片保存到相册
  16. 计算机管理为什么不能扩展卷,Win10 C盘不能扩展卷怎么解决?
  17. Arduino:数码管显示原理详解和Proteus仿真实验
  18. U盘删除附带的CD驱动器内的数据
  19. Tcl/Tk入门(中)
  20. 获取当前日期只保留年月日

热门文章

  1. 申请软件著作权可以加急吗?软著申请时间怎么计算的?
  2. Arduino入门教程--连载
  3. 中国人工智能(AI)发展历程、AI产业重点发展区域、重点发展城市及中国AI产业地区发展总结及展望
  4. BUUCTF:[WUSTCTF2020]girlfriend
  5. 数据库实体间一对多(多对一)、多对多关系处理
  6. java 找不到符号
  7. Antd design pro 网站favicon.ICO图标 网页LOGO图标 左侧边栏LOGO文字 默认登陆页面LOGO 页面Loading样式修改
  8. 华为路由器:首次登陆配置Console、Telnet登录、Web登录
  9. 学习笔记(2):程序员的数学:微积分-常用导数(二):最常用到的技巧
  10. java 线程优先级_Java线程优先级