FasDfs縮略圖解決方案 -- Linux

前面研究了fastdfs的安裝部署,而且作了多機同步。php

此次咱們解決下FastDFS作文件服務器並處理縮略圖的問題。html

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

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

yum -y install gd-deve

出錯了,怎麼辦。vim

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

yum search gd-devel

yum -y install gd-devel.x86_64

安裝成功服務器

 ②將http_image_filter_module包含進來

一、 cd nginx-1.14.0分佈式

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

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

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

三、 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是什麼?

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

PHP經過GD擴展去操做圖片,是先在內存中處理,處理完之後以文件流的方式輸出,能夠輸出到瀏覽器,也能夠輸出到磁盤上。所以通常的步驟是:

  1. 建立畫布。其實就是在內存中開闢一塊區域。
  2. 在畫布上繪製圖形。能夠填充顏色,繪製「點」、「線」、「文本」、「圖像」等
  3. 輸出圖像(瀏覽器或者磁盤)。
  4. 銷燬圖像,釋放資源。

咱們這裏不介紹太多,具體看園友的連接  GD庫簡介和使用

二、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 文件服務

相關文章
相關標籤/搜索