redis安装与IMagic和Jmagic安装

redis安装

$ wget http://download.redis.io/releases/redis-2.8.7.tar.gz
$ tar xzf redis-2.8.7.tar.gz
$ cd redis-2.8.7
$ make

make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:


  • redis-server:Redis服务器的daemon启动程序
  • redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
  • redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
  • redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况 

在后面会有这几个命令的说明,当然是从网上抄的。。。

==修改配置文件


/etc/sysctl.conf


添加


vm.overcommit_memory=1


刷新配置使之生效


sysctl vm.overcommit_memory=1 

补充介绍:

 **如果内存情况比较紧张的话,需要设定内核参数:
echo 1 > /proc/sys/vm/overcommit_memory

 内核参数说明如下:

overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

 **编辑redis.conf配置文件(/etc/redis.conf),按需求做出适当调整,比如:
daemonize yes #转为守护进程,否则启动时会每隔5秒输出一行监控信息
save 60 1000 #减小改变次数,其实这个可以根据情况进行指定
maxmemory 256000000 #分配256M内存


在我们成功安装Redis后,我们直接执行redis-server即可运行Redis,此时它是按照默认配置来运行的(默认配置甚至不是后台运 行)。我们希望Redis按我们的要求运行,则我们需要修改配置文件,Redis的配置文件就是我们上面第二个cp操作的redis.conf文件,目前 它被我们拷贝到了/usr/local/redis/etc/目录下。修改它就可以配置我们的server了。如何修改?下面是redis.conf的主 要配置参数的意义:
  • daemonize:是否以后台daemon方式运行
  • pidfile:pid文件位置
  • port:监听的端口号
  • timeout:请求超时时间
  • loglevel:log信息级别
  • logfile:log文件位置
  • databases:开启数据库的数量
  • save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
  • rdbcompression:是否使用压缩
  • dbfilename:数据快照文件名(只是文件名,不包括目录)
  • dir:数据快照的保存目录(这个是目录)
  • appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
  • appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

 


下面是一个略做修改后的配置文件内容:

daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
glueoutputbuf yes
shareobjects no
shareobjectspoolsize 1024


 


将上面内容写为redis.conf并保存到/usr/local/redis/etc/目录下


然后在命令行执行:


1
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf


即可在后台启动redis服务,这时你通过


1
telnet 127.0.0.1 6379


即可连接到你的redis服务。


====、启动服务并验证


启动服务器


 


./redis-server 
或 
$redis-server /etc/redis.conf  
查看是否成功启动 
$ ps -ef | grep redis   
或 
./redis-cli ping 
PONG


===、启动命令行客户端赋值取值


 


redis-cli  set mykey somevalue

 

./redis-cli get mykey

 

===、关闭服务

$ redis-cli shutdown     

#关闭指定端口的redis-server  

$redis-cli -p 6380 shutdown 

===、客户端也可以使用telnet形式连接。

[root@dbcache conf]# telnet 127.0.0.1 6379 
Trying 127.0.0.1... 
Connected to dbcache (127.0.0.1). 
Escape character is '^]'. 
set foo 3 
bar 
+OK 
get foo 
$3 
bar 
^] 
telnet> quit 
Connection closed.
=======================================================================================================

JMagick安装

环境:


yum -y install perl-devel perl-CPAN gcc* gcc-c++ zlib* libx*

*-----------/
*安装libtool*
./configure
make
make instll

*安装jpeg包:

http://www.ijg.org/files/jpegsrc.v6b.tar.gz
tar -zvxf jpegsrc.v6b.tar.gz
cd jpeg-6b/
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
./configure --enable-shared --enable-static
make
mkdir -p /usr/local/man/man1
make install


*安装png包:先在http://sourceforge.net/projects/libpng/上下载最新的libpng包
tar -xzvf libpng-1.5.3
(如果遇到“[coders/coders_png_la-png.lo] 错误 1”要安装低版本的,不能安装高版本的)
cd libpng-1.2.12
yum install -y zlib
./ipconfigure
make
make install


*编译并安装tiff格式支持文件,

tar zvxf tiff-3.8.2.tar.gz

./configure

make

make install

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

cd ImageMagick-6.7.0
vi ./configure
然后找到下面这三个
--without-jpeg disable JPEG support
--without-png disable PNG support
--without-tiff disable TIFF support
改成
--without-jpeg=false disable JPEG support
--without-png=false disable PNG support
--without-tiff=false disable TIFF support
=====================================================================
[magick/libMagickCore.la] Error 1
yum install libx* -y
=====================================================================

./configure -with-quantum-depth=8 LDFLAGS='-L/usr/local/lib -ljpeg' --prefix=/opt/ImageMagick --enable-share -enable-static

make all
make install

================================================================================

问题
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at Makefile.PL line 1.

BEGIN failed--compilation aborted at Makefile.PL line 1.
解决方法如下:

yum -y install perl-devel


yum -y install perl-CPAN
-------------------------------------
检查/etc/ld.so.conf中的库文件路径是否正确,如果库文件不是使用系统路径,/usr/lib, /usr/local/lib, 那么必须在文件中加入。

================================================================================
使用convert 看看是否可以转换文件
测试:convert -geometry 600x200 1503.jpg 1503_small.gif

wget http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz
安装JMagick包
tar xzvf jmagick-6.4.0.tar.gz

(# chmod * 否则这个包内的文件无权限执行)

autoconf
./configure --prefix=/opt/JMagick --with-magick-inc-dir=/opt/ImageMagick/include/ImageMagick/ --enable-share --enable-static --with-java-
home=/usr/java/jdk1.7.0_45/ --with-magick-home=/opt/ImageMagick/
make all
make install

(
测试JMagick,在test包里有Test.java 环境变量生效后再测试
# make test

# make javadoc
)

========================================================
这样就安装完成,接下来的就是配置环境变量。

vi /etc/profile
关于java的环境变量,此文http://blog.sina.com.cn/u/4964dd65010005sb有更详细的说明
加入:
JAVA_HOME="/usr/java/jdk6"(您自己的jdk地址)
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
(这行不要:export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar)


export PATH=$PATH:/opt/ImageMagick/bin:/opt/ImageMagick/lib
export LD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib
export DYLD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib
export CLASSPATH=$CLASSPATH:/opt/JMagick/lib
==========================================================================
测试通过的配置:
export JAVA_HOME=/usr/java/jdk1.7.0_51
export CLASSPATH=.:$JAVA_HOME/jre/lib/:$JAVA_HOME/lib/:/opt/ImageMagick/lib
export PATH=$PATH:$JAVA_HOME/bin:/opt/ImageMagick/bin:/opt/JMagick/lib
export LD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib
export DYLD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib
export CLASSPATH=$CLASSPATH:/opt/JMagick/lib
===========================================================================



执行命令:
ldconfig

将ImageMagick的库加入系统联接库

然后注销当前用户重新登录,便于环境变量修改生效,执行:convert logo: logo.gif

看是否正确生成一个logo.gif的图片文件。

=======================================================
如果要在Web Application Server(Resin,Tomcat),需要再运行时加入参数: -Djmagick.systemclassloader=no

或者在程序中写入:System.setProperty("jmagick.systemclassloader", "no");


命令行使用方法:

convert -resize 100x200 22.jpg(图片路径) 11.jpg(缩放后存放路径) 图片按比例缩放

convert -resize 100x200\! 22.jpg(图片路径) 11.jpg(缩放后存放路径) 强制按给定的宽高缩放


convert -crop 100(长)x200(高)+10(x坐标)+10(y坐标) 22.jpg(图片路径) 11.jpg(缩放后存放路径) 裁剪图片

----------------------------------------------------------------
如果还是不行.执行以下操作:
cp /opt/6.4.0/lib/jmagick.jar /usr/java/jdk1.7.0_51/jre/lib/ext/
cp /opt/6.4.0/lib/libJMagick-6.4.0.so /usr/java/jdk1.7.0_51/jre/lib/amd64/libJMagick.so

==================================
让大家分享一下,本人经过两天的学习,终于将最新版的ImageMagick与JMagick安装成功
作者:雷喜青
1、System.out.println(System.getProperty("java.library.path")).
直接用System.out.println(System.getProperty("java.library.path")).
打印出当前环境的路径,然后再把jmagick.dll或jmagick.so 复制到其中的一个路径文件夹中问题解决。


2、magick.MagickException: No image to scale
版本不匹配,要像下面这们,都是同一个版本号
ImageMagick-6.4.0-0.tar.gz
jmagick-6.4.0-src.tar.gz


3、magick.MagickException: Unable to retrieve handle
要调用 magick.MagickImage.destroyImages() 来关闭


4、no decode delegate for this image format
使用:identify -list format
判断有支持几种图片格式,没有的则需要安装对应的格式库


5、单线程转换每张图片大概50ms,两个线程却需要500ms
用convert --version 命令查看
看是否出现openMP字样,出现的话,是因为机器不支持openMP导致的。
需要重新编译./configure --disable-openmp 在进行安装


首先检查一下电脑里已经安装的ImageMagick版本:
convert -version



6、Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\WINDOWS\system32\jmagick.dll: Can't find dependent libraries

我在Windows xp上按照上面的流程安装完成,按理说应该没有问题了,但出现了以上错误。

我打开Eclipse已工作数个小时,然后在开发机器(我本机)Windows xp上安装ImageMagick-6.3.9-0-Q16-windows-dll.exe。也把jmagick.dll放入system32,在你的
java项目中使用jmagick.jar包处理图片。

就这么几步当然不会错,但在运行程序时还是出现了上面的错误。

解决:重启Eclipse。加载新的环境变量。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值