国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

nginx開啟Gzip壓縮,Vue性能優(yōu)化之使用gzip壓縮打包

這篇具有很好參考價值的文章主要介紹了nginx開啟Gzip壓縮,Vue性能優(yōu)化之使用gzip壓縮打包。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、前言

不管是vue項目還是react項目在使用webpack打包之后都會生成一個動輒一兩兆甚至更大的js文件,在某些情況下嚴(yán)重影響項目性能,打開頁面的時候白屏?xí)r間會很長,本文將介紹如何使用gzip壓縮打包,主要是nginx部署的配置,非常重要,我查閱了很多文章基本都沒用說清楚甚至錯誤的。

gzip壓縮分兩種,一種是服務(wù)器壓縮后傳輸給瀏覽器,但是這種方案是請求時服務(wù)器實時壓縮,比較消耗服務(wù)器性能;另外一種就是前端在webpack打包的時候壓縮好,服務(wù)器做一些相應(yīng)配置就可以返回壓縮包給瀏覽器,只是打包出來的dist體積會偏大,但是不消耗服務(wù)器性能。

這兩種綜合起來使用是比較劃算的,接下來說說前端打包步驟。

二、nginx配置

這個配置花了我很多時間,網(wǎng)上寫的基本都不全甚至是錯誤的,按照我下面的步驟保證可以實現(xiàn)效果。

1. 檢查nginx模塊

首先要檢查一下nginx的模塊,找到nginx的q啟動文件,我的是/usr/sbin/nginx,如果你找不到可以使用 ps -ef | grep nginx 命令找到master進程所在的目錄,進入sbin目錄然后執(zhí)行 ./nginx –V ,注意是大寫的V,查看結(jié)果如下:

nginx開啟Gzip壓縮,Vue性能優(yōu)化之使用gzip壓縮打包

第一行是nginx的版本,我的是1.16.1,重點是最后一行,我的nginx安裝了很多模塊,其中我們需要的就是紅框部分 --with-http_gzip_static_module,有的話那就不需要下面的步驟了,可以直接跳到第2步,如果沒有那就繼續(xù)往下看。

2、加入模塊重新編譯

如果我們在上面步驟里發(fā)現(xiàn)nginx沒有gzip_static模塊的話,那就需要我們重新編譯安裝一下nginx。

首先需要找到nginx的源碼路徑,如果不知道可以執(zhí)行find / -name nginx查找,我的在/usr/local/nginx-1.16.1,然后cd到這個目錄,可以先使用ll命令看一下有沒有configure文件,如果有說明源碼目錄找對了,如果沒有則再查找一下,實在找不到那就說明源碼已經(jīng)被刪了,那就只能卸載當(dāng)前nginx整個重裝了。

如果第一步看到的nginx已有一些模塊,則需要把這些已有的模塊復(fù)制下來,然后再后面加上--with-http_gzip_static_module,執(zhí)行如下命令:

./configure --prefix=/usr/share/nginx --modules-path=...[整個復(fù)制]... --with-http_gzip_static_module

如果第一步看到的一個模塊都沒有的話,那就直接重新編譯,注意 --prefix=后面寫ng所在路徑:

./configure --prefix=/usr/share/nginx --with-http_gzip_static_module

3、安裝

執(zhí)行命令make,進行安裝

make

4、備份

為了確保安全,將舊的nginx做一個備份(目錄如果不一樣記得更換)

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

5、覆蓋原來的nginx

先把nginx服務(wù)停止掉

ps -ef | grep nginx

找到master進程并且將其kill掉。復(fù)制安裝好的新的nginx文件覆蓋舊的:

cp ./objs/nginx /usr/local/nginx/sbin/

6、驗證

查看模塊

/usr/local/nginx/sbin/nginx -V

如果出現(xiàn) gzip_module說明安裝成功。

7、添加gzip配置

一般是在http里面加,也可以在某個server里加

http {
	gzip on;
	gzip_static on;
	gzip_min_length  5k;
	gzip_buffers     4 16k;
	gzip_http_version 1.0;
	gzip_comp_level 7;
	gzip_types       text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
	gzip_vary on;
}

其中:gzip_static on; 是為了命中dist里的gz文件,其他的配置是服務(wù)器實時壓縮配置,一般兩種都寫上,有靜態(tài)gz文件的會優(yōu)先返回gz文件,沒有的話就會開啟實時壓縮,實時壓縮是比較耗服務(wù)器資源的。

三、附錄

配置項釋義:

# 開啟服務(wù)器實時gzip
  gzip on;

  # 開啟靜態(tài)gz文件返回
  gzip_static on;

  # 啟用gzip壓縮的最小文件,小于設(shè)置值的文件將不會壓縮
  gzip_min_length 1k;

  # 設(shè)置壓縮所需要的緩沖區(qū)大小
  gzip_buffers 32 4k;

# 設(shè)置gzip壓縮針對的HTTP協(xié)議版本
  gzip_http_version 1.0;

  # gzip 壓縮級別,1-9,數(shù)字越大壓縮的越好,也越占用CPU時間
  gzip_comp_level 7;

  # 進行壓縮的文件類型。javascript有多種形式。其中的值可以在 mime.types 文件中找到。
  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 application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;

  # 是否在http header中添加Vary: Accept-Encoding,建議開啟
  gzip_vary on;

  # 禁用IE 6 gzip
  gzip_disable "MSIE [1-6]\.";

四、webpack配置

這一步是很簡單的,安裝一個包,然后加上配置即可

npm install --save-dev compression-webpack-plugin@1.1.2

我這里下載的是1.1.2版本的,試過更高的版本會有ES6語法的報錯,因為我node使用的是v12,如果node版本更高可以嘗試更高版本。

然后在vue.config.js里加上配置如下:

module.exports = {
  chainWebpack: config => {
    const CompressionWebpackPlugin = require('compression-webpack-plugin')
    if (process.env.NODE_ENV === 'production') {
        config.plugin('CompressionPlugin').use(
        	new CompressionWebpackPlugin({
            test: /\.(js|css)$/,
            threshold: 10240, // 超過10kb的文件就壓縮
      			deleteOriginalAssets:true, // 不刪除源文件
      			minRatio: 0.8
          })
        )
   	}
  }
}

然后當(dāng)我們運行npm run build之后你就會發(fā)現(xiàn)dist里除了以前的文件以外會有很多同名的gz文件,而且體積小了很多,這就是壓縮后的了。

nginx開啟Gzip壓縮,Vue性能優(yōu)化之使用gzip壓縮打包文章來源地址http://www.zghlxwxcb.cn/news/detail-434384.html

到了這里,關(guān)于nginx開啟Gzip壓縮,Vue性能優(yōu)化之使用gzip壓縮打包的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Nginx中配置GZIP壓縮詳解

    Nginx中配置GZIP壓縮詳解

    網(wǎng)站訪問速度對用戶來說是很重要的體驗,有時候除了增大帶寬外,還需要對文件進行壓縮。 首先找到Nginx安裝路徑下的配置文件: 保存后,使用nginx -t檢查配置文件是否OK: ? ? ? ? 上述報錯證明nginx在編譯安裝時候沒有連同http_ssl_module模塊一同編譯;現(xiàn)在的情況是nginx已經(jīng)

    2024年02月04日
    瀏覽(21)
  • 三、nginx兩種壓縮配置[gzip]

    解釋:通過配置參數(shù),讓nginx壓縮指定后綴格式文件,然后發(fā)送給用戶,但是這樣這些壓縮文件無法使用sendfile的高效傳送( 使用其能使得文件傳輸不經(jīng)過程序,加載到緩存直接發(fā)送,相反off的話,需要在硬盤-緩存-程序-發(fā)送 ),因為文件需要先經(jīng)過nginx壓縮 gzip on/off; :開啟

    2024年02月16日
    瀏覽(33)
  • Linux中_使用tar_gzip_zip_rar_命令_打包和解包_壓縮和解壓

    1.3.1、到當(dāng)前目錄下 1.3.2、到指定目錄下 3.1.1、壓縮當(dāng)前目錄: 3.1.2、壓縮指定目錄: 3.2.1、到當(dāng)前目錄 3.2.2、到指定目錄 4.2.1、壓縮文件本身: 4.2.2、遞歸壓縮,將指定目錄下所有文件和子目錄一并壓縮:

    2024年02月04日
    瀏覽(22)
  • 文件壓縮與解壓性能對比 lzop, gzip

    關(guān)于 lzo LZO是一個超級強大的壓縮庫,最大的特點就是壓縮/解壓速度極快。LZO 除了極快的壓縮和解壓速度以外,最重要的特性就是就地解壓,即不使用臨時文件,這對于體積較大的文件來說,例如光盤映像,是非常合適的。另外,解壓無需內(nèi)存,解壓速度與壓縮率無關(guān),這兩

    2024年02月03日
    瀏覽(28)
  • Linux 打包壓縮解壓指令 gzip bzip2 tar

    總結(jié)自 鳥哥Linux私房菜 Linux壓縮文件的擴展名大多是:“.tar, .tar.gz, .tgz, .gz, .Z, .bz2, *.xz”, 不同壓縮文件使用了不同的算法,不能通用壓縮或解壓 常見擴展名: Linux上常見的壓縮指令就是 gzip, bzip2 以及最新的 xz ,至于 compress 已經(jīng)退流行了。為了支持 windows 常見的 zip,其實

    2024年02月05日
    瀏覽(18)
  • 性能優(yōu)化-webpack配置gzip

    3步搞定,實測1.3Mjs壓縮到363k,體積減少70% 1.裝包 yarn add compression-webpack-plugin --dev 2.配置webpack 打開config/webpack.config.js 1)在 module.exports 導(dǎo)出函數(shù)前面引入插件 2)添加配置 位置,搜索new HtmlWebpackPlugin(在其上邊添加配置

    2024年02月15日
    瀏覽(19)
  • Linux下的打包(tar)、壓縮(gzip / bzip2)、解壓gz / bz2 / xz

    Linux中打包和壓縮是兩個過程,分別有對應(yīng)的指令來執(zhí)行這兩步操作。 打包 指的是將一堆文件裝到一個大袋子里, 壓縮 則是把這個袋子里的空氣給抽干。 目錄 1、打包命令 tar 2、打包壓縮一步到位的方式 (1) 方式一:tar 與 gzip 相結(jié)合 (2) 方式二:tar 與 bzip2 相結(jié)合 3、總結(jié)

    2024年02月13日
    瀏覽(29)
  • OpenFeign / SpringBoot 響應(yīng)使用gzip壓縮(含例子)

    OpenFeign / SpringBoot 響應(yīng)使用gzip壓縮(含例子)

    全局壓縮(接口與瀏覽器響應(yīng)壓縮) min-response-size 與 mime-types 均包含默認(rèn)值,可以不手動指定,如有其他需要可按需指定 局部壓縮(微服務(wù)之間利用feign請求及響應(yīng)壓縮) 2.1準(zhǔn)備product (測試全局壓縮) 啟動類添加注解 @EnableFeignClients 指定目錄 接口類添加注解 @FeignClient 實

    2023年04月14日
    瀏覽(14)
  • 使用Java IO進行壓縮和解壓縮 | ZIP和GZIP的實現(xiàn)

    使用Java IO進行壓縮和解壓縮 | ZIP和GZIP的實現(xiàn)

    ??Java IO中的壓縮和解壓縮功能主要通過 java.util.zip 包和 java.util.jar 包來實現(xiàn),并具有以下作用和優(yōu)勢: 方便易用 :Java提供了簡潔而易于使用的API,使得壓縮和解壓縮變得簡單和方便。 多種壓縮算法支持 :Java提供了多種壓縮算法,如ZIP、GZIP、JAR等,可以根據(jù)不同的需求

    2024年02月15日
    瀏覽(23)
  • Linux系統(tǒng)常見的壓縮命令和打包命令(gzip,zcat,bzip2,bzcat,xz,xzcat,zip,unzip,tar)

    在Linux的環(huán)境中,壓縮文件的擴展名大多是: tar、tar.gz、*tgz、*gz、 *.Z 、 *.bz2、 *.xz。 這是因為Linux支持的壓縮命令非常多,且不同的命令所用的壓縮技術(shù)并不相同,彼此之間可能就無法互通壓縮/解壓縮文件。所以,當(dāng)你要下載某個壓縮文件時,自然就需要知道該文件是由哪

    2024年02月05日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包