Nginx實戰案例—圖片的過濾壓縮

1. 爲什麼要圖片過濾壓縮

在實際的企業當中,nginx服務器上的資源要儘可能的佔用的空間少一點
實際上信息量大的網頁和高清圖片佔用存儲空間是非常大的,這樣不利於服務器性能的優化
因此我們要在服務器上面將網頁和圖片進行壓縮,讓客戶端去下載就可以了

不管一個系統或網站的大與小,都存在相應的圖片處理、生成縮略圖、爲圖片加水印等等,如果涉及到APP端,這個圖片的處理需求變得更加重要了,因爲在目前來看,客戶端的屏幕大小不一,會導致以下問題:

  • 圖片過大導致APP加載圖片速度慢;
  • 消耗用戶過多流量。

2. 實現圖片的過濾壓縮

實驗前提:因爲nginx是模塊化的,實驗前必須編譯好這個模塊:
–with-http_image_filter_module=dynamic

如果編譯出錯,可能是因爲沒有gd-devel包,執行下面命令:

yum list gd    #看到系統gd版本是 2.0.35-26,所以自己下載的gd-devel也得是這個版本
yum install -y gd-devel-2.0.35-26.el7.x86_64.rpm   #自己到網上找到和系統gd版本一樣的gd-devel包

在這裏插入圖片描述
編輯nginx服務的配置文件:

vim /usr/local/nginx/conf/nginx.conf		#寫入第一行內容和55行

 1 load_module modules/ngx_http_image_filter_module.so;  

 52         location /download {
 53             #limit_conn addr 1; #只能一個併發,多了會報錯
 54             #limit_rate 50k;    #限制帶寬,每秒最多50k
 55                 image_filter resize 150 100; #重新調整圖片尺寸(像素)
 56 }

nginx -t	#語法檢測
nginx -s reload	#在不暫停服務的情況下重新加載

在這裏插入圖片描述
在這裏插入圖片描述
查看圖片本來的大小:

cd /usr/local/nginx/html/download/
ls
du -sh	#爲32k

在這裏插入圖片描述

測試:
網頁搜索172.25.1.1/download/huge.jpg—>按f12—>選擇network—>按f5刷新—>查看到圖片被壓縮到2.50k

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章