使用nginx動態(tài)轉(zhuǎn)換圖片大小生成縮略圖
Nginx的ngx_http_image_filter_module 模塊(nginx版本為0.7.54+) 可用來動態(tài)轉(zhuǎn)換JPEG, GIF, PNG, 和WebP格式的圖片大小。
該模塊默認沒有構(gòu)建,需要通過 --with-http_image_filter_module 配置參數(shù)啟用。
如果圖片訪問量不大,可以使用該模塊。
該模塊使用了libgd庫。 推薦使用該庫的最新版本。
以下為在已經(jīng)安裝了nginx的情況下添加該模塊的步驟。
1 安裝依賴
yum -y install gd-devel yum -y install libxslt-devel yum -y install perl-devel perl-ExtUtils-Embed
2 查看原nginx參數(shù)
nginx -V
輸出結(jié)果如下:
nginx version: nginx/1.12.2
configure arguments:
查看是否有--with-http_image_filter_module,如果有則說明已經(jīng)安裝過,否則繼續(xù)安裝。
3 編譯
重新編譯時需要下載和原來相同版本的nginx源碼,解壓。
添加--with-http_image_filter_module=dynamic及原來的參數(shù)(不需要執(zhí)行make install命令重新安裝)
./configure --with-http_image_filter_module=dynamic make
4 備份原nginx
cp -r /usr/local/nginx /usr/local/nginxbak
5 覆蓋nginx
cp objs/nginx /usr/local/nginx/sbin/ mkdir /usr/local/nginx/module cp objs/ngx_http_image_filter_module.so /usr/local/nginx/module/ngx_http_image_filter_module.so
6 修改配置文件
vim /usr/local/nginx/conf/nginx.conf
load_module /usr/local/nginx/module/ngx_http_image_filter_module.so; location ~* /images/(.+)_(\d+)x(\d+)\.(jpg|jpeg|gif|png)$ { set $w $2; set $h $3; image_filter resize $w $h; image_filter_buffer 30M; #設置圖片緩沖區(qū)的最大大小,大小超過設定值,服務器將返回錯誤415 image_filter_interlace on; image_filter_jpeg_quality 80; try_files /$1.$4 /notfound.jpg; expires 1d; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; alias /home/publisherupload/ ; #root 能夠讓訪問 /images/ 路徑時,訪問到 /User/XX/Desktop/images,如果將 root 替換為 alias,則訪問的是 /User/XX/Desktop/;其中 /User/XX/Desktop/ 是本機中的絕對路徑。 } location /images { alias /home/publisherupload/ ; #root 能夠讓訪問 /images/ 路徑時,訪問到 /User/XX/Desktop/images,如果將 root 替換為 alias,則訪問的是 /User/XX/Desktop/;其中 /User/XX/Desktop/ 是本機中的絕對路徑。 autoindex on; #打開目錄瀏覽功能 }
7 重載nginx配置
/usr/local/nginx/sbin/nginx -s
8 測試
最終的圖片訪問地址為在原圖片地址后面加入_寬度X高度參數(shù)
http://110.87.103.58:12345/images/2021-01/202101250944272_500x400.png
參考
https://cloud.tencent.com/developer/article/1644466
到此這篇關于使用nginx動態(tài)轉(zhuǎn)換圖片大小生成縮略圖的文章就介紹到這了,更多相關nginx動態(tài)轉(zhuǎn)換圖片大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在nginx中配置pathinfo模式支持thinkphp的URL重寫
這篇文章主要介紹了在nginx中配置pathinfo模式的例子,用來支持thinkphp的URL重寫,并解決了thinkphp一個路徑問題,需要的朋友可以參考下2014-04-04