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

Nginx服務(wù)器中用于生成縮略圖的模塊配置教程

 更新時間:2016年01月27日 16:28:49   投稿:goldensun  
這篇文章主要介紹了Nginx服務(wù)器中用于生成縮略圖的模塊配置教程,包括實時生成縮略圖到硬盤上的方法講解,需要的朋友可以參考下

ngx_image_thumb模塊生成縮略圖

ngx_image_thumb是nginx中用來生成縮略圖的模塊,生存縮略圖的方法很多,本nginx模塊主要功能是對請求的圖片進(jìn)行縮略/水印處理,支持文字水印和圖片水印。支持自定義字體,文字大小,水印透明度,水印位置,判斷原圖是否是否大于指定尺寸才處理等等。
1. 編譯方法
編譯前請確認(rèn)您的系統(tǒng)已經(jīng)安裝了libcurl-dev libgd2-dev libpcre-dev 依賴庫
1.1 Debian / Ubuntu 系統(tǒng)舉例

# 如果你沒有安裝GCC相關(guān)環(huán)境才需要執(zhí)行
$ sudo apt-get install build-essential m4 autoconf automake make
$ sudo apt-get install libgd2-noxpm-dev libcurl4-openssl-dev libpcre3-dev

1.2 CentOS /RedHat / Fedora

# 請確保已經(jīng)安裝了gcc automake autoconf m4
$ sudo yum install gd-devel pcre-devel libcurl-devel

1.3 FreeBSD / NetBSD / OpenBSD
# 不多說了,自己用port 把libcurl-dev libgd2-dev libpcre-dev 裝上吧
# 編譯前請確保已經(jīng)安裝gcc automake autoconf m4
1.4 Windows
# 也支持的,不過要修改的代碼太多了,包括Nginx本身,用VC++來編譯
# 嫌麻煩可以用cygwin來編譯。還是不建議你這么做了,用Unix/Linux操作系統(tǒng)吧。
2. nginx / tengine 安裝
選Nginx還是Tengine,您自己看,兩者選其一
2.1 下載Tengine

 # wget http://tengine.taobao.org/download/tengine-1.4.5.tar.gz
 # tar -zxvf tengine-1.4.5.tar.gz
 # cd tengine-1.4.5

2.2 下載Nginx

# wget http://nginx.org/download/nginx-1.4.0.tar.gz
 # tar -zxvf nginx-1.4.0.tar.gz
 # cd nginx-1.4.0

2.3 安裝模塊

 # wget https://github.com/3078825/nginx-image/archive/master.zip
 # unzip master.zip
 # ./configure --add-module=./nginx-image-master
 # make
 # make install

3. 配置

location / {
 root html;
 #添加以下配置
 image on;
 image_output on;
 }

4. 參數(shù)

  • image on/off 是否開啟縮略圖功能,默認(rèn)關(guān)閉
  • image_backend on/off 是否開啟鏡像服務(wù),當(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 是否開啟水印功能
  • 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),絕對路徑或者相對路徑的水印圖片
  • 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

4.1調(diào)用說明

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

http://127.0.0.1/test.jpg!c300x300.jpg
http://127.0.0.1/test.jpg!t300x300.jpg
http://127.0.0.1/test.jpg!m300x300.jpg
http://127.0.0.1/test.jpg!w300x300.jpg
http://127.0.0.1/test.c300x300.jpg
http://127.0.0.1/test.t300x300.jpg
http://127.0.0.1/test.m300x300.jpg
http://127.0.0.1/test.w300x300.jpg

nginx實時生成縮略圖到硬盤上
現(xiàn)在隨著各終端的出現(xiàn)(手機(jī),ipad等平板),以及各種終端的手機(jī)分辨率和尺寸都不同,現(xiàn)在手機(jī)用戶流量都是寶,網(wǎng)上出現(xiàn)了各種各樣的生成縮略圖功能的架構(gòu),有使用php實時生成縮略圖的,也有用nginx + lua實現(xiàn)的,上面我也講到了使用nginx生成縮略圖,但是用戶每次訪問都需要生成一次,會給cpu和硬盤帶來比較大的壓力,今天帶來了另外一種方式,這次使用nginx將原圖生成縮略圖到硬盤上.看我的配置
1. 首先建好cache目錄

# mkdir /data/site_cache/

2. 修改nginx配置

 location ~* ^/resize {
  root /data/site_cache/$server_name;
  set $width 150;
  set $height 100;
  set $dimens "";
 
  if ($uri ~* "^/resize_(\d+)x(\d+)/(.*)" ) {
   set $width $1;
   set $height $2;
   set $image_path $3;
   set $demins "_$1x$2";
  }
 
  if ($uri ~* "^/resize/(.*)" ) {
   set $image_path $1;
  }
 
  set $image_uri image_resize/$image_path?width=$width&height=$height;
 
  if (!-f $request_filename) {
   proxy_pass http://127.0.0.1/$image_uri;
   break;
  }
  proxy_store /data/site_cache/$server_name/resize$demins/$image_path;
  proxy_store_access user:rw group:rw all:r;
  proxy_set_header Host $host;
  expires 30d;
  access_log off;
 }
 
 location /image_resize {
  alias /data/site/$server_name/;
  image_filter resize $arg_width $arg_height;
  image_filter_jpeg_quality 75;
  access_log off;
 }

生成縮略圖流程如下:
(1)、原圖在m.fzitv.net/image/1.jpg。我需要一份100x100的縮略圖。
(2)、請求m.fzitv.net/resize_100x100/image/1.jpg.
(3)、這個請求進(jìn)入了location ~* ^/resize,接著判斷image_path這個目錄下是否存在這張圖片,如果存在直接放回給用戶,
(4)、不存在那么跳轉(zhuǎn)到http://m.fzitv.net/image_resize/image/1.jpg?width=100&height=100;
(5)、location /image_resize根據(jù)傳入的width和height執(zhí)行縮略功能,并且設(shè)置圖像質(zhì)量為75
(6)、接著生成文件到/data/site_cache/m.fzitv.net/resize_100x100/image/1.jpg
(7)、并且返回圖片給用戶
(8)、nginx生成縮略圖到硬盤上的功能到這里就結(jié)束了

相關(guān)文章

  • 關(guān)于多級緩存使用(nginx本地緩存、JVM進(jìn)程緩存、redis緩存)

    關(guān)于多級緩存使用(nginx本地緩存、JVM進(jìn)程緩存、redis緩存)

    這篇文章主要介紹了關(guān)于多級緩存使用(nginx本地緩存、JVM進(jìn)程緩存、redis緩存),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 詳解Prometheus 抓取 nginx 訪問日志的指標(biāo)

    詳解Prometheus 抓取 nginx 訪問日志的指標(biāo)

    通過結(jié)合NGINX Exporter, Fluentd, Prometheus和Grafana, 可有效監(jiān)控并可視化NGINX中的4xx和5xx狀態(tài)碼日志,首先使用Fluentd收集和解析NGINX日志,再通過Prometheus抓取Fluentd暴露的指標(biāo),本文介紹Prometheus抓取nginx訪問日志的指標(biāo),感興趣的朋友一起看看吧
    2024-10-10
  • Forever+nginx部署Node站點的方法示例

    Forever+nginx部署Node站點的方法示例

    這篇文章主要介紹了Forever+nginx部署Node站點的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 學(xué)習(xí)nginx基礎(chǔ)知識

    學(xué)習(xí)nginx基礎(chǔ)知識

    這篇文章主要介紹了nginx基礎(chǔ)知識,文中運用了大量的圖片和代碼進(jìn)行講解,對相關(guān)知識感興趣的小伙伴可以參考一下這篇文章
    2021-09-09
  • keepalived?+?nginx?實現(xiàn)高可用方案

    keepalived?+?nginx?實現(xiàn)高可用方案

    這篇文章主要介紹了keepalived?+?nginx?實現(xiàn)高可用方案的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Nginx Rewrite模塊應(yīng)用的幾種場景

    Nginx Rewrite模塊應(yīng)用的幾種場景

    這篇文章主要介紹了Nginx Rewrite模塊應(yīng)用的幾種場景,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • nginx反向代理如何支持網(wǎng)址自動添加斜線

    nginx反向代理如何支持網(wǎng)址自動添加斜線

    這篇文章主要介紹了nginx反向代理如何支持網(wǎng)址自動添加斜線問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 使用Nginx限制IP請求和并發(fā)連接數(shù)的實現(xiàn)方法

    使用Nginx限制IP請求和并發(fā)連接數(shù)的實現(xiàn)方法

    本文主要介紹了使用Nginx限制IP請求和并發(fā)連接數(shù)的實現(xiàn)方法,通過使用Nginx的限制模塊,我們可以輕松地實現(xiàn)對IP請求和并發(fā)連接數(shù)的限制,具體就跟小編一起來了解一下
    2024-03-03
  • Nginx+Keepalived實現(xiàn)雙機(jī)熱備

    Nginx+Keepalived實現(xiàn)雙機(jī)熱備

    這篇文章主要介紹了Nginx+Keepalived實現(xiàn)雙機(jī)熱備,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Nginx服務(wù)器配置文件完全解析

    Nginx服務(wù)器配置文件完全解析

    這篇文章主要介紹了Nginx服務(wù)器配置文件完全解析,Nginx的異步非阻塞特性使其擁有非常出色的性能,需要的朋友可以參考下
    2015-08-08

最新評論

巴林左旗| 六安市| 西乌珠穆沁旗| 中阳县| 讷河市| 南漳县| 西林县| 高阳县| 文化| 五常市| 遂溪县| 新乡市| 襄樊市| 志丹县| 太白县| 荃湾区| 合肥市| 达拉特旗| 仪陇县| 高邑县| 阜阳市| 金塔县| 珠海市| 玉环县| 永善县| 崇礼县| 宁海县| 耒阳市| 靖安县| 万州区| 安塞县| 恭城| 蓬溪县| 高碑店市| 伊宁市| 江华| 遂溪县| 綦江县| 若羌县| 金坛市| 乐都县|