使用nginx動態(tài)轉(zhuǎn)換圖片大小生成縮略圖
Nginx的ngx_http_image_filter_module 模塊(nginx版本為0.7.54+) 可用來動態(tài)轉(zhuǎn)換JPEG, GIF, PNG, 和WebP格式的圖片大小。
該模塊默認(rèn)沒有構(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 編譯
重新編譯時(shí)需要下載和原來相同版本的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; #設(shè)置圖片緩沖區(qū)的最大大小,大小超過設(shè)定值,服務(wù)器將返回錯誤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/ 路徑時(shí),訪問到 /User/XX/Desktop/images,如果將 root 替換為 alias,則訪問的是 /User/XX/Desktop/;其中 /User/XX/Desktop/ 是本機(jī)中的絕對路徑。 } location /images { alias /home/publisherupload/ ; #root 能夠讓訪問 /images/ 路徑時(shí),訪問到 /User/XX/Desktop/images,如果將 root 替換為 alias,則訪問的是 /User/XX/Desktop/;其中 /User/XX/Desktop/ 是本機(jī)中的絕對路徑。 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
到此這篇關(guān)于使用nginx動態(tài)轉(zhuǎn)換圖片大小生成縮略圖的文章就介紹到這了,更多相關(guān)nginx動態(tài)轉(zhuǎn)換圖片大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Nginx服務(wù)器中配置全站HTTPS安全連接的方法
這篇文章主要介紹了詳解Nginx服務(wù)器中配置全站HTTPS安全連接的方法,其中要點(diǎn)還是在于SSL證書的申請,需要的朋友可以參考下2016-01-01Nginx靜態(tài)資源服務(wù)器的實(shí)現(xiàn)示例
靜態(tài)資源即非服務(wù)器動態(tài)生成的文件,本文主要介紹了Nginx靜態(tài)資源服務(wù)器的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08在nginx中配置pathinfo模式支持thinkphp的URL重寫
這篇文章主要介紹了在nginx中配置pathinfo模式的例子,用來支持thinkphp的URL重寫,并解決了thinkphp一個(gè)路徑問題,需要的朋友可以參考下2014-04-04