centos7用zimg搭建圖片存儲服務器


簡述

zimg是圖像存儲和處理服務器。您可以使用URL參數從zimg獲取壓縮和縮放的圖像。
zimg的並發I / O,分布式存儲和時間處理能力非常出色。
您不再需要在圖像服務器中使用nginx。在基准測試中,zimg可以在高並發級別上處理每秒3000+圖像下載任務和每秒90000+ HTTP回應請求。
性能高於PHP或其他圖像處理服務器。

安裝依賴庫

sudo yum install -y  wget openssl-devel cmake libevent-devel libjpeg-devel giflib-devel libpng-devel libwebp-devel ImageMagick-devel libmemcached-devel
sudo yum install -y glibc-headers gcc-c++
sudo yum install -y build-essential nasm

安裝依賴(比較多)

openssl

mkdir -p /usr/local/zimg/openssl
cd /usr/local/zimg/openssl
wget http://www.openssl.org/source/openssl-1.0.1i.tar.gz
tar zxvf openssl-1.0.1i.tar.gz
cd openssl-1.0.1i
./config shared --prefix=/usr/local --openssldir=/usr/ssl
make && make install

cmake

mkdir -p /usr/local/zimg/cmake
cd /usr/local/zimg/cmake
wget http://www.cmake.org/files/v3.0/cmake-3.0.1.tar.gz
tar xzvf cmake-3.0.1.tar.gz 
cd cmake-3.0.1
./bootstrap --prefix=/usr/local 
make && make install

libevent

mkdir -p /usr/local/zimg/libevent
cd /usr/local/zimg/libevent
wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local 
make && make install

libjpeg-turbo

mkdir -p /usr/local/zimg/libjpeg-turbo
cd /usr/local/zimg/libjpeg-turbo
wget https://downloads.sourceforge.net/project/libjpeg-turbo/1.3.1/libjpeg-turbo-1.3.1.tar.gz
tar zxvf libjpeg-turbo-1.3.1.tar.gz
cd libjpeg-turbo-1.3.1
./configure --prefix=/usr/local --with-jpeg8
make && make install

webp

mkdir -p /usr/local/zimg/webp
cd /usr/local/zimg/
wget http://downloads.webmproject.org/releases/webp/libwebp-0.4.1.tar.gz
tar zxvf libwebp-0.4.1.tar.gz
cd libwebp-0.4.1
./configure
make
sudo make install

jpegsrc

mkdir -p /usr/local/zimg/jpegsrc
cd /usr/local/zimg/
wget http://www.ijg.org/files/jpegsrc.v8b.tar.gz
tar -xf  jpegsrc.v8b.tar.gz
cd jpeg-8b
./configure --prefix=/usr/local --enable-shared --enable-static
make && make install

imageMagick

mkdir -p /usr/local/zimg/imageMagick
cd /usr/local/zimg/
wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.9.1-10
./configure  --prefix=/usr/local 
make && make install

libmemcached

mkdir -p /usr/local/zimg/libmemcached
cd /usr/local/zimg/
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure -prefix=/usr/local 
make && make install

構建zimg

cd /usr/local/zimg
##此處不要根據下面鏈接去下載,自己去zimg github地址庫區下載最新 版;
#git clone https://github.com/buaazp/zimg -b master --depth=1
# github:https://github.com/buaazp/zimg
cd zimg
make

安裝成功后

cd /usr/local/zimg/zimg/bin
./zimg conf/zimg.lua
ctrl+z 退出
curl http://localhost:4869 
如果出現html代碼  則說明安裝啟動成功。
然后可以直接訪問http://localhost:4869 ,如果訪問失敗可以查看防火牆端口是否開啟。

可能會出現的錯誤

安裝zimg最后一步make時報錯make[1]: 進入目錄“/usr/local/zimg/deps/libjpeg-turbo” make[1]: ***

解決方法:
yum install libtool –y

Centos 7 firewall 命令

查看已經開放的端口:

firewall-cmd --list-ports
開啟端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含義:

–zone #作用域

–add-port=80/tcp #添加端口,格式為:端口/通訊協議

–permanent #永久生效,沒有此參數重啟后失效

重啟防火牆

firewall-cmd --reload #重啟firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
firewall-cmd --state #查看默認防火牆狀態(關閉后顯示notrunning,開啟后顯示running)

Python調用上傳接口

img_path = "C:\\Users\\Administrator\\Desktop\\centos7.jpg"

url = 'http://127.0.0.1:4869/upload'
files = {'file': ('centos7.jpg', open(img_path, 'rb'), 'image/jpeg')}
rsp = requests.post(url, files=files)
print(rsp.text)

參考資料

# zimg官網
http://zimg.buaa.us/
# zimg官方github
https://github.com/buaazp/zimg
# 搭建指南
https://blog.csdn.net/weixin_43834425/article/details/100679009
# 防火牆相關
https://www.linuxidc.com/Linux/2016-12/138979.htm
# curl安裝
https://blog.csdn.net/qq_43523315/article/details/109450135


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM