电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

nginx gzip 動(dòng)態(tài)靜態(tài)壓縮詳解

瀏覽:29日期:2023-06-15 15:23:31
目錄
  • 前言
    • 動(dòng)態(tài)壓縮
    • 靜態(tài)壓縮
    • 動(dòng)靜結(jié)合

前言

gzip壓縮是解決編譯產(chǎn)物體積過(guò)大、縮短靜態(tài)資源請(qǐng)求時(shí)長(zhǎng)的常用手段之一,我們?cè)诰W(wǎng)站上經(jīng)常能看到 Content-Encoding: gzip 這個(gè) http 響應(yīng)頭,表示內(nèi)容使用 gzip 壓縮;gzip壓縮分為動(dòng)態(tài)壓縮與靜態(tài)壓縮,下面淺淺的介紹下這兩種方式以及使用;

動(dòng)態(tài)壓縮

動(dòng)態(tài)壓縮實(shí)際上就是由nginx服務(wù)器對(duì)編譯造物進(jìn)行壓縮,需要在nginx.conf的http、https模塊中開(kāi)啟下面的配置:

? ? gzip? on; # 開(kāi)啟gizo壓縮    gzip_min_length 1k; # gizp壓縮起點(diǎn),文件大于1k才進(jìn)行壓縮    gzip_comp_level 6; # 壓縮級(jí)別 數(shù)字越大壓縮得越小 但是越耗性能 根據(jù)實(shí)際情況而定? ? gzip_proxied any; # nginx做為反向代理時(shí)啟用, 詳細(xì)見(jiàn)官方文檔:http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_proxied? ? gzip_vary on; # 是否在http header中添加Vary: Accept-Encoding? ? gzip_buffers 16 8k; # 設(shè)置壓縮所需要的緩沖區(qū)大小,以8k為單位,案例中則申請(qǐng)16*4k的緩沖區(qū)? ? gzip_http_version 1.1; # http的版本? ? gzip_types text/plain application/javascript text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; # 文件類(lèi)型

更改完配置,重啟nginx服務(wù)器,查看靜態(tài)資源響應(yīng)頭,出現(xiàn)Content-Encoding: gzip ****則代表開(kāi)啟成功;

靜態(tài)壓縮

動(dòng)態(tài)壓縮是在服務(wù)器上進(jìn)行的,壓縮級(jí)別越高越耗性能,靜態(tài)壓縮就是為了解決這個(gè)問(wèn)題而生的,開(kāi)啟靜態(tài)壓縮后,nginx會(huì)自動(dòng)尋找.gz后綴的文件,如果沒(méi)有則返回源文件;于是乎,我們就可以在前端構(gòu)建的時(shí)候進(jìn)行g(shù)zip壓縮;

以vite為例,我們需要引入vite-plugin-compression插件,并且在vite.config.js中按照下面的方式配置;

    import viteCompression from "vite-plugin-compression"; // gzip    plugins: [ viteCompression() ]

插件支持自定義,主要配置如下

    verbose: true, // 是否在控制臺(tái)輸出壓縮結(jié)果 這里我們打開(kāi)查看壓縮的效果    disable: false, // 是否禁用    threshold: 10240, // 大于這個(gè)值才進(jìn)行壓縮 單位為b    algorithm: "gzip", // 算法 除了gzip還有 ["brotliCompress" ,"deflate","deflateRaw"]    ext: ".gz", // 輸出的后綴

引入插件后編譯,我們即可看見(jiàn)編譯文件中會(huì)多出一些.gz結(jié)尾的文件,這些便是壓縮的產(chǎn)物,查看編譯輸出,我們可以看到

    dist/D:/code/vue/mine/waylon-blog/packages/waylon-blog-pages/assets/index-d023f1e5.css.gz? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 598.32kb / gzip: 67.81kb

一個(gè)598.32kb的css文件經(jīng)過(guò)壓縮之后大小變成了67.81kb;

將靜態(tài)資源部署到服務(wù)器上,在nginx.conf中開(kāi)啟下面的配置,nginx會(huì)自動(dòng)去尋找.gz結(jié)尾的文件,直接返回給客戶端,這就是所謂的靜態(tài)壓縮;

    gzip_static on

坑點(diǎn)!!!

1,nginx對(duì)靜態(tài)壓縮的文件要求較高,必須與原文件同時(shí)生成,如果不是同時(shí)生成的,那么nginx將無(wú)法進(jìn)行匹配(對(duì)于這一點(diǎn),筆者在引入插件后源代碼未變更,導(dǎo)致gz文件與原文件時(shí)間不一致,導(dǎo)致靜態(tài)壓縮不生效);

官網(wǎng)原話:

The files can be compressed using the gzip command, or any other compatible one. It is recommended that the modification date and time of original and compressed files be the same.

2,nginx默認(rèn)是沒(méi)有安裝ngx_http_gzip_static_module靜態(tài)壓縮模塊的,需手動(dòng)開(kāi)啟,開(kāi)啟方法這里不贅述,直接上指令:

找到安裝路徑的configure文件以后,就在這個(gè)文件夾下,執(zhí)行如下命令

./configure  --with-http_gzip_static_module

等待執(zhí)行完畢以后就是執(zhí)行make指令

make

動(dòng)靜結(jié)合

實(shí)際應(yīng)用中我們通常會(huì)采取靜態(tài)壓縮+動(dòng)態(tài)壓縮結(jié)合的方式來(lái)處理我們的靜態(tài)資源,靜態(tài)壓縮的優(yōu)先級(jí)會(huì)高于動(dòng)態(tài)壓縮,并不是說(shuō)壓縮的越到小越好,如果已經(jīng)進(jìn)行過(guò)靜態(tài)壓縮的文件就沒(méi)有必要再進(jìn)行動(dòng)態(tài)壓縮了,因?yàn)檫@樣浪費(fèi)性能,得不償失,所以動(dòng)態(tài)壓縮的gzip_min_length這個(gè)配置尤為重要,能讓我們避免一些無(wú)謂的操作;

經(jīng)過(guò)上面一系列操作之后,可以用站長(zhǎng)工具測(cè)試下壓縮的效果,直接將靜態(tài)資源的連接復(fù)制進(jìn)去即可:https://tool.chinaz.com/Gzips/?q=c.nxw.so

如圖

文檔參考:

以上就是nginx gzip 動(dòng)態(tài)靜態(tài)壓縮詳解的詳細(xì)內(nèi)容,更多關(guān)于nginx gzip動(dòng)靜態(tài)壓縮的資料請(qǐng)關(guān)注其它相關(guān)文章!

標(biāo)簽: Nginx
主站蜘蛛池模板: 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 【北京写字楼出租_写字楼租赁_办公室出租网/出售】-远行地产官网 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 冲锋衣滑雪服厂家-冲锋衣定制工厂-滑雪服加工厂-广东睿牛户外(S-GERT) | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 氧化铁红厂家-淄博宗昂化工 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 氮化镓芯片-碳化硅二极管 - 华燊泰半导体 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 海外仓系统|国际货代系统|退货换标系统|WMS仓储系统|海豚云 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 派财经_聚焦数字经济内容服务平台 | 精密交叉滚子轴承厂家,转盘轴承,YRT转台轴承-洛阳千协轴承 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 高博医疗集团上海阿特蒙医院| 润滑脂-高温润滑脂-轴承润滑脂-食品级润滑油-索科润滑油脂厂家 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 利浦顿蒸汽发生器厂家-电蒸汽发生器/燃气蒸汽发生器_湖北利浦顿热能科技有限公司官网 | 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 土壤肥料养分速测仪_测土配方施肥仪_土壤养分检测仪-杭州鸣辉科技有限公司 | 上海办公室装修_上海店铺装修公司_厂房装潢设计_办公室装修 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 哈尔滨发电机,黑龙江柴油发电机组-北方星光 |