免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
nginx圖片處理相關(guān)

nginx本身有支持圖片處理的模塊,通過(guò)外部插件也可以實(shí)現(xiàn)此功能。

libgd的安裝

前提是要有l(wèi)ibgd的庫(kù)文件,

(1)去官網(wǎng)訪問(wèn)主頁(yè)沒(méi)問(wèn)題,下載文件還是FQ下的,為了方便大家提供一個(gè)鏈接:http://files.cnblogs.com/files/bugutian/libgd-2.1.1.tar

使用起來(lái)就是解壓:

tar -vxf libgd-2.1.1.tarcd libgd-2.1.1./configuremakemake install

就行了。如果啟動(dòng)nginx的時(shí)候還報(bào)找不到動(dòng)態(tài)庫(kù),那就自己find一下,然后

export LD_LIBRARY_PATH=/Path/to/libgd.so:$LD_LIBRARY_PATH

在啟動(dòng),或者把路徑寫到系統(tǒng)的環(huán)境變量也行。

(2)當(dāng)然也還有更簡(jiǎn)單的方法,直接yum安裝也行,自己配置好yum源,然后:

yum install gd-devel pcre-devel libcurl-devel

因?yàn)閘ibcurl也是需要的一部分,所以一起安裝。

一、with-http_image_filter_module模塊安裝

編譯過(guò)程很簡(jiǎn)單

#./configure --prefix=./ --with-http_image_filter_module --with-pcre=../pcre-8.36#make#make install

一般情況下,nginx一般都需要用到正則表達(dá)式,所以對(duì)于圖片處理器pcre就更不能少了,如果有pcre,我們的配置就可以寫成下面這樣:

location ~* /images/(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ {        set $h $2;    set $w $3;    if ($h = "0") {        rewrite /images/(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ /images/$1.$4 last;    }    if ($w = "0") {        rewrite /images/(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ /images/$1.$4 last;    }    #根據(jù)給定的長(zhǎng)寬生成縮略圖    image_filter resize $h $w;    #原圖最大2M,要裁剪的圖片超過(guò)2M返回415錯(cuò)誤,需要調(diào)節(jié)參數(shù)image_filter_buffer     image_filter_buffer 2M;      #error_page  415      /images/notfound.jpg;    try_files /images/$1.$4  /images/notfound.jpg; }

可以完成圖片請(qǐng)求的自適應(yīng),如果沒(méi)有,我們只能像下面這樣,把縮略圖的尺寸定死。

location ~ /{    #proxy_pass     http://10.11.11.11;    image_filter   resize  100 100;    error_page     415   = /empty;}

(如果系統(tǒng)安裝了pcre這個(gè)參數(shù)可以省略,因?yàn)楦甙姹镜膎ginx默認(rèn)是安裝了pcre的),圖片處理就更不能少了,其他配置都是通用的。

 

二、ngx_image_thumb-maste的安裝

當(dāng)然上面的模塊可以用,但是自適應(yīng)性讓人看著并不爽。而另一款插件ngx_image_thumb-maste配置起來(lái)就好用多了

源碼地址:https://github.com/3078825/nginx-image/archive/master.zip

編譯安裝:

# ./configure --prefix=./ --add-module=../ngx_image_thumb-master --with-pcre=../pcre-8.36# make# make inatll

配置也不那么復(fù)雜,支持的功能也多

    location / {            root   html;            index  index.html index.htm;            image on;            image_output on;            image_water on;            image_water_type 0;            image_water_file "/usr/local/nginx/html/vanke.png";            image_water_pos 0;            image_water_min 300 300;            #image_water_text Vanke.com;            #image_water_font_size 14;        }

image on/off 是否開(kāi)啟縮略圖功能,默認(rèn)關(guān)閉
image_backend on/off 是否開(kāi)啟鏡像服務(wù),當(dāng)開(kāi)啟該功能時(shí),請(qǐng)求目錄不存在的圖片(判斷原圖),將自動(dòng)從鏡像服務(wù)器地址下載原圖
image_backend_server 鏡像服務(wù)器地址
image_output on/off 是否不生成圖片而直接處理后輸出 默認(rèn)off
image_jpeg_quality 75 生成JPEG圖片的質(zhì)量 默認(rèn)值75
image_water on/off 是否開(kāi)啟水印功能
image_water_type 0/1 水印類型 0:圖片水印 1:文字水印
image_water_min 300 300 圖片寬度 300 高度 300 的情況才添加水印
image_water_pos 0-9 水印位置 默認(rèn)值9 0為隨機(jī)位置,1為頂端居左,2為頂端居中,3為頂端居右,4為中部居左,5為中部居中,6為中部居右,7為底端居左,8為底端居中,9為底端居右
image_water_file 水印文件(jpg/png/gif),絕對(duì)路徑或者相對(duì)路徑的水印圖片
image_water_transparent 水印透明度,默認(rèn)20
image_water_text 水印文字 "Power By Vampire"
image_water_font_size 水印大小 默認(rèn) 5
image_water_font 文字水印字體文件路徑
image_water_color 水印文字顏色,默認(rèn) #000000

這里假設(shè)你的nginx 訪問(wèn)地址為 http://192.168.0.2:8082/
并在nginx網(wǎng)站根目錄存在一個(gè) test.jpg 的圖片
通過(guò)訪問(wèn)
http://192.168.0.2:8082/test.jpg!c300x200.jpg 將會(huì) 生成/輸出 test.jpg 300x200 的縮略圖
其中 c 是生成圖片縮略圖的參數(shù), 300 是生成縮略圖的寬度, 200 是生成縮略圖的高度
一共可以生成四種不同類型的縮略圖。
支持 jpeg / png / gif (Gif生成后變成靜態(tài)圖片)
C 參數(shù)按請(qǐng)求寬高比例從圖片高度 10% 處開(kāi)始截取圖片,然后縮放/放大到指定尺寸( 圖片縮略圖大小等于請(qǐng)求的寬高 )
M 參數(shù)按請(qǐng)求寬高比例居中截圖圖片,然后縮放/放大到指定尺寸( 圖片縮略圖大小等于請(qǐng)求的寬高 )
T 參數(shù)按請(qǐng)求寬高比例按比例縮放/放大到指定尺寸( 圖片縮略圖大小可能小于請(qǐng)求的寬高 )
W 參數(shù)按請(qǐng)求寬高比例縮放/放大到指定尺寸,空白處填充白色背景顏色( 圖片縮略圖大小等于請(qǐng)求的寬高

參照上面的配置,也有以下的寫法

http://192.168.0.2:8082/test.c300x300.jpg
http://192.168.0.2:8082/test.t300x300.jpg
http://192.168.0.2:8082/test.m300x300.jpg
http://192.168.0.2:8082/test.w300x300.jpg
http://192.168.0.2:8082/test.jpg!c300x300.jpg
http://192.168.0.2:8082/test.jpg!t300x300.jpg
http://192.168.0.2:8082/test.jpg!m300x300.jpg
http://192.168.0.2:8082/test.jpg!w300x300.jpg

但是這個(gè)模塊當(dāng)然也有缺點(diǎn),大量的圖片處理肯定很耗費(fèi)cpu和內(nèi)存,所以在這個(gè)服務(wù)器前一定要配個(gè)緩存服務(wù)器,第二個(gè)就是容易遭到攻擊,因?yàn)榭梢灾С挚s放,所以黑客可以故意用很大的尺寸來(lái)請(qǐng)求小圖片,這樣將非常耗費(fèi)服務(wù)器的存儲(chǔ),尤是圖片命名規(guī)則一看就清楚的網(wǎng)站和圖片名稱容易被爬取的網(wǎng)站更容易被攻擊。而第一個(gè)模塊因?yàn)榭梢栽O(shè)置緩存大小,可以稍做限制。

當(dāng)然此模塊代碼不多,可以通過(guò)修改源碼的方式,解決上面的問(wèn)題。

但在實(shí)踐過(guò)程中,發(fā)現(xiàn)在并發(fā)的情況下(ngx_imgthumb不經(jīng)過(guò)反向代理)直接應(yīng)對(duì)請(qǐng)求,如果圖片比較大,會(huì)出現(xiàn)nginx報(bào)signal 11的情況。

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Nginx Image 縮略圖 模塊
PHP上傳、生成縮略圖、生成文字水印和圖片水印 - 綠竹居 - 我是網(wǎng)管博客 - 暢通網(wǎng)絡(luò)...
巧用CDN圖片處理實(shí)現(xiàn)圖片水印和圖片彈窗兼容
AspJpeg組件的用法
wordpress圖片水印+遠(yuǎn)程圖片下載插件super image tools
ecshop圖片縮略圖質(zhì)量不清楚
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服