目錄
動態壓縮
#靜態壓縮
首頁 運維 Nginx nginx gzip動態壓縮和靜態壓縮怎麼配置

nginx gzip動態壓縮和靜態壓縮怎麼配置

May 12, 2023 am 08:25 AM
nginx gzip

動態壓縮

動態壓縮其實就是由nginx伺服器對編譯造物進行壓縮,需要在nginx.conf的http、https模組開啟下面的設定:

    gzip  on; # 开启gizo压缩
    gzip_min_length 1k; # gizp压缩起点,文件大于1k才进行压缩
    gzip_comp_level 6; # 压缩级别 数字越大压缩得越小 但是越耗性能 根据实际情况而定
    gzip_proxied any; # nginx做为反向代理时启用, 详细见官方文档: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; # 设置压缩所需要的缓冲区大小,以8k为单位,案例中则申请16*4k的缓冲区
    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; # 文件类型
登入後複製

更改完配置,重新啟動nginx伺服器,查看靜態資源回應頭,出現Content-Encoding: gzip ****則代表開啟成功;

nginx gzip動態壓縮和靜態壓縮怎麼配置

#靜態壓縮

##動態壓縮是在伺服器上進行的,壓縮等級越高越耗性能,靜態壓縮就是為了解決這個問題而生的,開啟靜態壓縮後,nginx會自動尋找.gz後綴的文件,如果沒有則返回源文件;於是乎,我們就可以在前端建置的時候進行gzip壓縮;

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

    import viteCompression from 'vite-plugin-compression'; // gzip
    plugins: [ viteCompression() ]
登入後複製

插件支援自訂,主要配置如下

    verbose: true, // 是否在控制台输出压缩结果 这里我们打开查看压缩的效果
    disable: false, // 是否禁用
    threshold: 10240, // 大于这个值才进行压缩 单位为b
    algorithm: 'gzip', // 算法 除了gzip还有 ['brotliCompress' ,'deflate','deflateRaw']
    ext: '.gz', // 输出的后缀
登入後複製

引入插件後編譯,我們即可看見編譯文件中會多出一些.gz結尾的文件,這些便是壓縮的產物,查看編譯輸出,我們可以看到

    dist/D:/code/vue/mine/waylon-blog/packages/waylon-blog-pages/assets/index-d023f1e5.css.gz                                  598.32kb / gzip: 67.81kb
登入後複製

一個598.32kb的css檔案經過壓縮之後大小變成了67.81kb;

將靜態資源部署到伺服器上,在nginx.conf中開啟下面的配置,nginx會自動去尋找.gz結尾的文件,直接回傳給客戶端,這就是所謂的靜態壓縮;

    gzip_static on
登入後複製

坑點! ! !

nginx gzip動態壓縮和靜態壓縮怎麼配置1,nginx對靜態壓縮的檔案要求較高,必須與原始檔案同時生成,如果不是同時生成的,那麼nginx將無法進行匹配(對於這一點,筆者在引入插件後原始程式碼未變更,導致gz檔案與原始檔案時間不一致,導致靜態壓縮不生效);

###官網原話:#########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預設是沒有安裝ngx_http_gzip_static_module開啟模組開啟的方法,nginx預設是沒有安裝ngx_http_gzip_static_module開啟模組開啟的方法,需要手動壓縮模組開啟這裡不贅述,直接上指令:######找到安裝路徑的configure檔以後,就在這個資料夾下,執行如下指令###
./configure  --with-http_gzip_static_module
登入後複製
###等待執行完畢以後就是執行make指令###
make
登入後複製
###動靜結合######實際應用中我們通常會採取靜態壓縮動態壓縮結合的方式來處理我們的靜態資源,靜態壓縮的優先權會高於動態壓縮,並不是說壓縮的越到小越好,如果已經進行過靜態壓縮的檔案就沒有必要再進行動態壓縮了,因為這樣浪費性能,得不償失,所以動態壓縮的gzip_min_length這個配置尤為重要,能讓我們避免一些無謂的操作;### ###經過上面一系列操作之後,可以用站長工具測試下壓縮的效果,直接將靜態資源的連接複製進去即可:https://tool.chinaz.com/Gzips/?q=c.nxw .so######如圖############

以上是nginx gzip動態壓縮和靜態壓縮怎麼配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

docker容器名稱怎麼查 docker容器名稱怎麼查 Apr 15, 2025 pm 12:21 PM

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

nginx在windows中怎麼配置 nginx在windows中怎麼配置 Apr 14, 2025 pm 12:57 PM

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

怎麼查看nginx是否啟動 怎麼查看nginx是否啟動 Apr 14, 2025 pm 01:03 PM

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

docker怎麼啟動容器 docker怎麼啟動容器 Apr 15, 2025 pm 12:27 PM

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

nginx怎麼配置雲服務器域名 nginx怎麼配置雲服務器域名 Apr 14, 2025 pm 12:18 PM

在雲服務器上配置 Nginx 域名的方法:創建 A 記錄,指向雲服務器的公共 IP 地址。在 Nginx 配置文件中添加虛擬主機塊,指定偵聽端口、域名和網站根目錄。重啟 Nginx 以應用更改。訪問域名測試配置。其他注意事項:安裝 SSL 證書啟用 HTTPS、確保防火牆允許 80 端口流量、等待 DNS 解析生效。

docker怎麼創建容器 docker怎麼創建容器 Apr 15, 2025 pm 12:18 PM

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

nginx怎麼查版本 nginx怎麼查版本 Apr 14, 2025 am 11:57 AM

可以查詢 Nginx 版本的方法有:使用 nginx -v 命令;查看 nginx.conf 文件中的 version 指令;打開 Nginx 錯誤頁,查看頁面的標題。

怎麼啟動nginx服務器 怎麼啟動nginx服務器 Apr 14, 2025 pm 12:27 PM

啟動 Nginx 服務器需要按照不同操作系統採取不同的步驟:Linux/Unix 系統:安裝 Nginx 軟件包(例如使用 apt-get 或 yum)。使用 systemctl 啟動 Nginx 服務(例如 sudo systemctl start nginx)。 Windows 系統:下載並安裝 Windows 二進製文件。使用 nginx.exe 可執行文件啟動 Nginx(例如 nginx.exe -c conf\nginx.conf)。無論使用哪種操作系統,您都可以通過訪問服務器 IP

See all articles