FasDfs縮略圖解決方案 -- Linux


前面研究了fastdfs的安裝部署,並且做了多機同步。

這次我們解決下FastDFS做文件服務器並處理縮略圖的問題。

有兩個方案,方案1,在上傳過程中生成多張圖片,服務器存備。方案2,只上傳一張圖片,在下載時候進行調整。我們這里采用方案2。

①安裝gd,HttpImageFilterModule模塊需要依賴gd-devel的支持

yum -y install gd-deve

出錯了,怎么辦。

查找參數來列出gd-deve相關的包名:

yum search gd-devel

yum -y install gd-devel.x86_64

安裝成功

 ②將http_image_filter_module包含進來

1、 cd nginx-1.14.0

  # nginx-1.14.0是我們的nginx安裝包目錄

2、./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module/src --with-http_image_filter_module 

  #只是比前面配置多加了個--with-http_image_filter_module

3、 make && make install 重新安裝

③修改配置

vim /usr/local/nginx/conf/nginx.conf

結果

        location ~ group1/M00/(.+)_([0-9]+)x([0-9]+)\.(jpg|gif|png) {
            alias /data0/fastdfs/storage/storage0/data;
            ngx_fastdfs_module;
            set $w $2;
            set $h $3;

            if ($w != "0") {
                rewrite group1/M00(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ group1/M00$1.$4 break;
            }

            if ($h != "0") {
                rewrite group1/M00(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ group1/M00$1.$4 break;
            }

            #根據給定的長寬生成縮略圖   
            image_filter resize $w $h;

            #原圖最大2M,要裁剪的圖片超過2M返回415錯誤,需要調節參數image_filter_buffer  
            image_filter_buffer 2M;

            #try_files group1/M00$1.$4 $1.jpg;
        }


        location ~ group1/M00/(.+)\.?(.+){
              alias /data0/fastdfs/storage/storage0/data;
              ngx_fastdfs_module;
        }

④測試

還是用我們之前的圖,雖然有點小

原圖

http://192.168.50.20/group1/M00/00/00/wKgyFFtm9mWAZfJhAAANHkI1RM4732.gif

 

縮略圖

http://192.168.50.20/group1/M00/00/00/wKgyFFtm9mWAZfJhAAANHkI1RM4732_80x50.gif

差別只是最后gif前加了個"_80x50"

 


 

GD是什么?

1、GD庫是php平台的一個關於圖像處理的擴展。

PHP通過GD擴展去操作圖片,是先在內存中處理,處理完以后以文件流的方式輸出,可以輸出到瀏覽器,也可以輸出到磁盤上。因此一般的步驟是:

  1. 創建畫布。其實就是在內存中開辟一塊區域。
  2. 在畫布上繪制圖形。可以填充顏色,繪制“點”、“線”、“文本”、“圖像”等
  3. 輸出圖像(瀏覽器或者磁盤)。
  4. 銷毀圖像,釋放資源。

我們這里不介紹太多,具體看園友的鏈接  GD庫簡介和使用

2、http_image_filter_module是什么?

http_image_filter_module是nginx提供的集成圖片處理模塊,支持nginx-0.7.54以后的版,可以用它實時縮放圖片,旋轉圖片,驗證圖片有效性以及獲取圖片寬高以及圖片類型信息 。

 

相關閱讀:

CentOS7最小化安裝-Linux-1

安裝配置fastDFS文件服務器 - Linux

FastDFS 配置 Nginx 模塊,並實現分布式同步-Linux

FasDfs縮略圖解決方案 -- Linux

C# 使用FastDFS 文件服務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM