ImageMagick圖片壓縮安裝配置全過程(linux)

一、系統環境

         操作系統:RHEL 4.7

         Tomcat版本:5.5.26

 

二、下載安裝文件:

 

http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz

 

http://www.ijg.org/files/jpegsrc.v8a.tar.gz

 

ftp://ftp.simplesystems.org/pub/png/src/libpng-1.2.43.tar.gz

 

http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz

 

http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz

 

三、安裝配置過程

分別下載上面的軟件,然後解壓,安裝:

(1)安裝tiff-3.8.2

tar –zxvf tiff-3.8.2.tar.gz

cd tiff-3.8.2

./configure –prefix=/usr

Make

Make install

Make check

(2)安裝jpegsrc.v8a.tar.gz

tar –zxvf jpegsrc.v8a.tar.gz

cd jpegsrc-0.8

./configure –prefix=/usr

Make

Make install

Make check

(3)安裝libpng-1.2.43.tar.gz

tar –zxvf libpng-1.2.43.tar.gz

cd libpng-1.2.43

./configure –prefix=/usr

Make

Make install

Make ckeck

(4)安裝ImageMagick-6.4.0-0.tar.gz

tar –zxvf ImageMagick-6.4.0-0

./configure –prefix=/usr

Make

Make install

Make check

(5)安裝jmagick-6.4.0-src.tar.gz

tar –zxvf jmagick-6.4.0-src.tar.gz

mv  6.4.0 jmagick-6.4.0

cd jmagick-6.4.0

./configure –prefix=/usr

Make

Make clean -----第一遍編譯的時候會遇到錯誤,因此需要清除一下然後再次的makeOK

Make

Make install

(6)配置環境變量

配置當前用戶的配置文件.bash_profile,也可配置所有用戶/etc/profile,添加

LD_LIBRARY_PATH=/usr/lib

export LD_LIBRARY_PATH

CLASSPATH中添加/usr/lib/jmagick-6.4.0.jar

source /etc/profile

 

對於32位系統:

找到/usr/lib中的libjpeg.so.8libjpeg.so.8.0.1,然後修改libjpeg.solibjpeg.so.62的連接爲:

ln  -s -f libjpeg.so.8.0.1 libjpeg.so

ln  -s -f libjpeg.so.8.0.1 libjpeg.so.62

ln -s -f  libjpeg.so.8.0.1  libjpeg.so.8

修改之後ll 查看下是不是生效

修改/etc/ld.so.conf添加/usr/lib

然後ldconfig

 

對於64爲系統,需要對/usr/lib64下面的libjpeg.so.8libjpeg.so.8.0.1重複32位系統的操作,這裏不再詳細講述。

 

(7)修改tomcatbin/catalina.sh

添加:

JAVA_OPTS="$JAVA_OPTS -Djmagick.systemclassloader=no"

JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/lib"

 

(8)重啓tomcat,頁面測試功能

 

(9)測試壓縮功能

上傳圖片cc.jpg ,執行

convert -resize 520x460  -stroke '#FFFFFF' -fill red -pointsize 40 -draw 'text 20,40 "www.xxt.cn"' cc.jpg 22.jpg

 

(10)如果在新上傳類時出現問題:

org.apache.jasper.JasperException: Could not initialize class magick.ImageInfo

或者

org.apache.jasper.JasperException: Native Library /usr/lib/libJMagick-6.4.0.so already loaded in another classloader

 

工程裏面/WEB-INF/lib/jmagick-6.4.0.jar出現重複加載造成,刪除問題解決。

 

發佈了52 篇原創文章 · 獲贊 6 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章