最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Nginx中配置image filter模塊來實(shí)現(xiàn)動(dòng)態(tài)生成縮略圖

 更新時(shí)間:2015年12月30日 16:44:02   作者:mood  
這篇文章主要介紹了在Nginx中配置image filter模塊來實(shí)現(xiàn)動(dòng)態(tài)生成縮略圖的方法,包括縮略圖尺寸的設(shè)置等方面的介紹,需要的朋友可以參考下

先來看一下什么是nginx的image filter模塊。

HttpImageFilterModule用來裁剪過大的圖片到指定大小,是nginx自帶模塊,默認(rèn)不會(huì)開啟
開啟HttpImageFilterModule需要在編譯要帶上參數(shù) --with-http_image_filter_module

該模塊主要有兩個(gè)指令:
語法: image_filter (test | size | resize width height | crop width height)
默認(rèn)是: 無
可出現(xiàn)的上下文: location

該指令指定圖像的轉(zhuǎn)化形式:

test - 測試回復(fù)是否是JPEG、GIF、或PNG圖片(不支持BMP等其他格式),出錯(cuò)時(shí)返回415。
size - 返回圖片的JSON數(shù)據(jù),比如:( "Img": ( "width": 100, "height": 100, "type": "gif"))
resize - 根據(jù)設(shè)置按比例得減小圖像,比如100*100的圖片,而設(shè)置是50*25,減小后的圖片為25*25。如果你只想設(shè)置一個(gè)維度,可以用“-”代替。出錯(cuò)時(shí)返回415。
crop - 根據(jù)設(shè)置按比例得減小圖像,然后裁剪成跟設(shè)置一樣大小的圖片。比如100*100的圖片,而設(shè)置是50*25,減小后的圖片為50*50,Nginx會(huì)選取中間高度25的像素,形成50*25的圖片,所以圖片會(huì)有缺失。如果你只想設(shè)置一個(gè)維度,可以用“-”代替。出錯(cuò)時(shí)返回415。

語法: image_filter_buffer size
默認(rèn)值: image_filter_buffer 1M
可出現(xiàn)的位置: http, server, location

該指令設(shè)置單圖片緩存的最大值,如果過濾的圖片大小超過緩存大小,會(huì)報(bào)錯(cuò)返回415。

現(xiàn)在開始時(shí)重點(diǎn):

有了如上認(rèn)識(shí)再配合locaiont、if、image_filter 就可以讓nginx動(dòng)態(tài)生成縮略圖了。

假設(shè)你的圖片位于/img目錄下

訪問縮略圖方式
http://www.fzitv.net/img/9GUMJR7200AJ0003_90x90.jpg
訪問原圖方式
http://www.fzitv.net/img/9GUMJR7200AJ0003_90x0.jpg
http://www.fzitv.net/img/9GUMJR7200AJ0003_0x50.jpg
http://www.fzitv.net/img/9GUMJR7200AJ0003_0x0.jpg
http://www.fzitv.net/img/9GUMJR7200AJ0003.jpg

添加如下配置到server上下文即可

    location ~* /img/(.+)_(d+)x(d+).(jpg|gif|png)$ {      
      set $h $2;
      set $w $3;
      if ($h = "0") {
        rewrite /img/(.+)_(d+)x(d+).(jpg|gif|png)$ /img/$1.$4 last;
      }
      if ($w = "0") {
        rewrite /img/(.+)_(d+)x(d+).(jpg|gif|png)$ /img/$1.$4 last;
      }

      #根據(jù)給定的長寬生成縮略圖
      image_filter resize $h $w;
      #原圖最大2M,要裁剪的圖片超過2M返回415錯(cuò)誤,需要調(diào)節(jié)參數(shù)image_filter_buffer 
      image_filter_buffer 2M;             
      
      #error_page 415       /img/notfound.jpg;
      try_files /img/$1.$4 /img/notfound.jpg; 
    }

    location ~* /img {
      
    }

生成縮略圖只是image_filter功能中的一個(gè),它一共支持4種參數(shù):
    test:返回是否真的是圖片
    size:返回圖片長短尺寸
    corp:截取圖片的一部分
    resize:縮放圖片

location ~ ^/test/(.*)$ {
      image_filter size;
      root  /var/www/_xxx;
      index index.html index.htm;
    }

輸出信息類似:

{ "img" : { "width": 1024, "height": 537, "type": "jpeg" } }

是一個(gè)JSON,壓力測試了一下,還是很給力,500個(gè)并發(fā),CPU占用在17%左右。

相關(guān)文章

  • 利用nginx+lua+redis實(shí)現(xiàn)反向代理方法教程

    利用nginx+lua+redis實(shí)現(xiàn)反向代理方法教程

    這篇文章主要給大家介紹了利用nginx+lua+redis實(shí)現(xiàn)反向代理方法教程,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • Nginx常見的錯(cuò)誤配置舉例

    Nginx常見的錯(cuò)誤配置舉例

    這篇文章主要介紹了Nginx常見的錯(cuò)誤配置舉例,幫助大家更好的理解和學(xué)習(xí)使用Nginx,感興趣的朋友可以了解下
    2021-03-03
  • 使用Nginx做WebSockets代理教程

    使用Nginx做WebSockets代理教程

    這篇文章主要介紹了使用Nginx做WebSockets代理教程,本文給出了代理配置,和一個(gè)完整的node.js實(shí)現(xiàn)的WebSockets實(shí)例,需要的朋友可以參考下
    2015-01-01
  • nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_port區(qū)別解析

    nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_por

    nginx為了實(shí)現(xiàn)反向代理的需求而增加了一個(gè)ngx_http_proxy_module模塊,其中proxy_set_header指令就是該模塊需要讀取的配置文件,這篇文章主要介紹了nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_port區(qū)別,需要的朋友可以參考下
    2024-03-03
  • nginx tcp負(fù)載均衡的具體實(shí)現(xiàn)

    nginx tcp負(fù)載均衡的具體實(shí)現(xiàn)

    Nginx是比較不錯(cuò)的開源Web服務(wù)器之一,它也可以用作TCP和UDP負(fù)載均衡器,本文主要介紹了nginx tcp負(fù)載均衡的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • Nginx session丟失問題處理解決方法

    Nginx session丟失問題處理解決方法

    這篇文章主要介紹了Nginx session丟失問題處理解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Nginx重定向的配置實(shí)例

    Nginx重定向的配置實(shí)例

    基于Nginx的服務(wù)器需要設(shè)置下重定向,下面的b2c就是相對(duì)應(yīng)的目錄,需要的朋友可以參考下。
    2010-07-07
  • nginx try_files指令的實(shí)現(xiàn)示例

    nginx try_files指令的實(shí)現(xiàn)示例

    try_files用于指定文件的查找規(guī)則,可以配置多個(gè)規(guī)則,會(huì)按順序執(zhí)行查找規(guī)則,本文主要介紹了nginx try_files指令的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • 服務(wù)器報(bào)錯(cuò)nginx?502?Bad?Gateway的原因及如何解決詳解

    服務(wù)器報(bào)錯(cuò)nginx?502?Bad?Gateway的原因及如何解決詳解

    項(xiàng)目啟動(dòng)時(shí)莫名其妙網(wǎng)站訪問不了,502 Bad Gateway,下面這篇文章主要給大家介紹了關(guān)于服務(wù)器報(bào)錯(cuò)nginx?502?Bad?Gateway的原因及如何解決的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Nginx通過用戶IP獲取所在國家及地理位置的實(shí)現(xiàn)方法

    Nginx通過用戶IP獲取所在國家及地理位置的實(shí)現(xiàn)方法

    Nginx是一款高性能、輕量級(jí)的Web服務(wù)器和反向代理服務(wù)器,今天講解Nginx十分常用的功能之一,通過IP獲取用戶所在的國家,一般廣泛應(yīng)用在各類需要定位的網(wǎng)站上面,來定位用戶首次訪問的國家,通過IP解析庫GeoLite2-Country來實(shí)現(xiàn)功能,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

西宁市| 温宿县| 安仁县| 百色市| 台山市| 开封市| 资阳市| 墨江| 信宜市| 绥德县| 玉林市| 大埔区| 清河县| 永川市| 汕尾市| 方正县| 翁牛特旗| 鹤山市| 平顺县| 五大连池市| 武威市| 达尔| 正定县| 泸州市| 西峡县| 岫岩| 长海县| 古田县| 深圳市| 布拖县| 香格里拉县| 上杭县| 曲靖市| 湘潭县| 龙里县| 龙川县| 思南县| 阿合奇县| 余江县| 苗栗县| 河北省|