代码改变世界

redis安装配置

2013-08-27 14:32  AgileEAP  阅读(223)  评论(0)    收藏  举报

转:http://blog.chinaunix.net/uid-26681030-id-3758013.html

单节点安装

 

1.       下载安装包

wget http://redis.googlecode.com/files/redis-2.2.15.tar.gz

tar zxvf redis-2.2.15.tar.gz

cd redis-2.2.15

make

mkdir /usr/local/redis

mkdir -p /etc/redis/

mkdir -p /data/redis/{run,db}

cp redis.conf /etc/redis/

cd src/

cp redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server mkreleasehdr.sh /usr/local/redis/

2.修改配置文件

daemonize yes  # By default Redis does not run as a daemon. Use 'yes' if you need it.

pidfile /data/redis/run/redis.pid

dir /data/redis/db

3.       创建服务脚本

cat /etc/init.d/redisd

#!/bin/bash

#bashname redisd

#Author Like_snow

#Version 1.0

#Date 2013/05/03

Usage(){

cat << EOF

*  *   *   *   *   *   *   *   *

*Incorrect parameter!             *

*/etc/init.d/redisd start(stop)                      *

*  *   *   *   *   *   *   *   *

EOF

exit 1

}

[ $# != 1 ] && Usage

case $1 in

start)

/usr/local/redis/redis-server /etc/redis/redis.conf &

[ "$?" == "0" ] && echo "Start success..." && exit 0

exit 1

;;

stop)

kill `cat /data/redis/run/redis.pid`

[ "$?" == "0" ] && echo "Stop success..." && exit 0

exit 1

;;

*)

Usage

;;

esac

 注意:

给文件添加执行权限:

比如说你是给用户加x,使用chmod u+x file_name
组加X,使用chmod g+x file_name

trenhui@ubuntu:~$ ll /etc/init.d/ |grep redisd

-rw-r--r-- 1 root root 541 Aug 26 20:31 redisd
trenhui@ubuntu:~$ chmod u+x /etc/init.d/redisd
chmod: changing permissions of ‘/etc/init.d/redisd’: Operation not permitted
trenhui@ubuntu:~$ sudo chmod u+x /etc/init.d/redisd
trenhui@ubuntu:~$ ll /etc/init.d/ |grep redisd
-rwxr--r-- 1 root root 541 Aug 26 20:31 redisd

4.       服务启动开关

/etc/init.d/redisd start

/etc/init.d/redisd stop

5.       服务验证

[root@localhost redis]# ./redis-cli

redis 127.0.0.1:6379> set work "hard"

OK

redis 127.0.0.1:6379> get work

"hard"

redis 127.0.0.1:6379>

 

二.Redis Master/Slave 主从集群配置

 

实验环境:

Centos 6.2 x86 Final(一台)

实验目的:

一主两从的Redis配置

127.0.0.1:6379  #Master

127.0.0.1:63791 #Slave1

127.0.0.1:63792 #Slave2

 

1.       使用上面成功创建的Master,直接复制Slave

cp -a redis/ redis-slave1

cp -a redis/ redis-slave2

2.       创建slave1的配置文件

cp -a /etc/redis/ /etc/redis-slave1

mkdir  -p /data/redis-slave1/{run,db}

--vi /etc/redis-slave1/redis.conf--

pidfile /data/redis-slave1/run/redis.pid

port 63791

dir /data/redis-slave1/db

slaveof 127.0.0.1 6379

3.       创建slave2的配置文件

cp -a /etc/redis/ /etc/redis-slave2

mkdir  -p /data/redis-slave2/{run,db}

--vi /etc/redis-slave2/redis.conf--

pidfile /data/redis-slave2/run/redis.pid

port 63792

dir /data/redis-slave2/db

slaveof 127.0.0.1 6379

 

4.       修改redisd脚本

cat /etc/redisd

#!/bin/bash

#bashname redisd

#Author Like_snow

#Version 2.0

#Date 2013/05/03

Usage(){

cat << EOF

*  *   *   *   *   *   *   *   *   *                   *

*Incorrect parameter!                      *

*/etc/init.d/redisd start(stop) SlaveID[1 or 2 .. ]  *

*  *   *   *   *   *   *   *   *   *    *

EOF

exit 1

}

[ $# -gt 2 ] && Usage

redis=${2:-redis}

if grep `echo $redis` /etc/init.d/redis-list || test "$redis" == "redis"

then

  test "$redis" != "redis" && redis=redis-slave$redis

else

  Usage

fi

case $1 in

start)

/usr/local/$redis/redis-server /etc/$redis/redis.conf &

[ "$?" == "0" ] && echo "Start $redis success..." && exit 0

exit 1

;;

stop)

kill `cat /data/$redis/run/redis.pid`

[ "$?" == "0" ] && echo "Stop $redis success..." && exit 0

exit 1

;;

*)

Usage

;;

Esac

 

5.       启动服务

[root@localhost etc]# netstat -tlnp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  

tcp        0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      2547/redis-server  

tcp        0      0 0.0.0.0:63791               0.0.0.0:*                   LISTEN      2553/redis-server  

tcp        0      0 0.0.0.0:63792               0.0.0.0:*                   LISTEN      2560/redis-server  

 

6.       验证M/S 是否成功

[root@localhost redis]# cd /usr/local/redis

[root@localhost redis]# ./redis-cli

redis 127.0.0.1:6379> set Master "Success.."

OK

redis 127.0.0.1:6379> get Master

"Success.."

redis 127.0.0.1:6379> quit

[root@localhost redis]# cd /usr/local/redis-slave1/

[root@localhost redis-slave1]# ./redis-cli

redis 127.0.0.1:6379> get Master

"Success.."

redis 127.0.0.1:6379> quit

[root@localhost redis-slave1]# cd /usr/local/redis-slave2/

[root@localhost redis-slave2]# ./redis-cli

redis 127.0.0.1:6379> get Master

"Success.."

redis 127.0.0.1:6379> quit

[root@localhost redis-slave2]#

出现以上结果这名一主两从的结构正常运行.

 

三.安装PHP redis扩展

https://github.com/nicolasff/phpredis/archive/master.zip

unzip master

cd phpredis-master

phpize

./configure

make && make install

修改php.ini 文件

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

extension=redis.so

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

参考链接:

http://redis.cn/