CentOS Linux下 redis 下载、安装、配置、主从集群配置
一、 下载
下载地址: http://redis.io/download
linux中下载:
# 加入跟目录
cd /
# 创建目录
mkdir redis/conf/
mkdir redis/db/
mkdir redis/app/
# 进入redis/app/目录
cd /redis/app/
# 下载
wget -O redis-2.6.17.tar.gz http://download.redis.io/releases/redis-2.6.17.tar.gz
二、 安装
linux下安装:
解压
tar -xzvf redis-2.6.17.tar.gz
解压完成进入redis目录编译:如果在make过程中没有提示错误的话,安装就成功了
# 进入目录
cd redis-2.6.17
# 编译
make
# 安装
sudo make install
三、 单服务器配置
将配置文件加入系统环境,可以在系如何目录直接启动redis
# 将redis系统文件拷贝到系统用户目录
cp src/redis-* /usr/local/bin/
# 将redis配置文件拷贝到/redis配置目录
cp redis.conf /redis/conf/redis.conf
修改密码:
vim /redis/conf/redis.conf
修改requirepass 项为:
requirepass 1234
启动:
redis-server /etc/redis.conf &
测试:
[root@localhost opt]# redis-cli
redis 127.0.0.1:6379> auth 1234
OK
redis 127.0.0.1:6379> set key1 value1
OK
redis 127.0.0.1:6379> get key1
"value1"
如果设置key1值成功后,在获得key1值成功就说明安装成功了。
四、主从集群配置
将配置文件加入系统环境,可以在系如何目录直接启动redis
# 将redis系统文件拷贝到系统用户目录
cp src/redis-* /usr/local/bin/
# 将redis配置文件拷贝到/redis配置目录
cp redis.conf /redis/conf/redis-master.conf
cp redis.conf /redis/conf/redis-slave.conf
(1)修改主服务器配置文件:
vim /redis/conf/redis-master.conf
将下列几项修改
#是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件。
daemonize no --> daemonize yes
#pid文件的路径
#pidfile --> pidfile /var/run/redis-master.pid
#主服务器端口
port 6379
#日志级别 (debug、verbose、notice、warning)
#loglevel notice
#日志文件路径
logfile /logs/redis/redis-master.log
#数据库文件路径:数据库文件的位置,最好添加绝对路径,若不添加时在启动用户的home目录下
dbfilename /redis/db/dump-master.rdb
#主从服务器的地址和端口。例如:slaveof 192.168.1.1 6379 如果是主服务器不需要开启此项
#slaveof <masterip> <masterport>
#从服务器只读选项,默认是yes,只读模式
slave-read-only no
#服务器密码:如果主服务设置了密码,从服务需要配置masterauth 这个选项
requirepass 1234
#主服务访问密码:从服务器设置,主服务器不需要设置
#masterauth kcpt
(2)修改从服务器配置文件:
vim /redis/conf/redis-slave.conf
将下列几项修改
#是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件。
daemonize no --> daemonize yes
#pid文件的路径
#pidfile --> pidfile /var/run/redis-slave.pid
#主服务器端口
port 6380
#日志级别 (debug、verbose、notice、warning)
#loglevel notice
#日志文件路径
logfile /logs/redis/redis-slave.log
#数据库文件路径:数据库文件的位置,最好添加绝对路径,若不添加时在启动用户的home目录下
dbfilename /redis/db/dump-slave.rdb
#主从服务器的地址和端口。例如:slaveof 192.168.1.1 6379 如果是主服务器不需要开启此项
slaveof 192.168.1.1 6379
#从服务器只读选项,默认是yes,只读模式
slave-read-only no
#服务器密码:如果主服务设置了密码,从服务需要配置masterauth 这个选项,从服务器也可以设置自己的密码
requirepass 5678
#主服务访问密码:从服务器设置,主服务器不需要设置
masterauth 1234
启动主从服务器:先启动主服务器,在启动从服务器:
[root@localhost opt]# redis-server /etc/redis-master.conf &
[1] 19928
[root@localhost opt]# redis-server /etc/redis-slave.conf &
[2] 19933
[1] Done redis-server /etc/redis-master.conf
[root@localhost opt]# ps -ef | grep redis
root 19929 1 0 12:51 ? 00:00:00 redis-server /etc/redis-master.conf
root 19934 1 0 12:51 ? 00:00:00 redis-server /etc/redis-slave.conf
root 19939 2697 0 12:51 pts/0 00:00:00 grep redis
[2]+ Done redis-server /etc/redis-slave.conf
[root@localhost opt]#
测试:
[root@localhost opt]# redis-cli -p 6379
redis 127.0.0.1:6379> auth 1234
OK
redis 127.0.0.1:6379> set k1 aaa
OK
redis 127.0.0.1:6379> exit
[root@localhost opt]# redis-cli -p 6380
redis 127.0.0.1:6380> auth 5678
OK
redis 127.0.0.1:6380> get k1
"aaa"
redis 127.0.0.1:6380>
关闭服务器:
(1)杀进程关闭
# 先查看redis服务器启动状态:
[root@localhost opt]# ps -ef | grep redis
root 2672 1 0 11:37 ? 00:00:00 redis-server /etc/redis-master.conf
root 2676 1 0 11:37 ? 00:00:00 redis-server /etc/redis-slave.conf
root 19924 2697 0 12:50 pts/0 00:00:00 grep redis
# 杀掉进程
[root@localhost opt]# kill -9 2672 2676
[root@localhost opt]#
[root@localhost opt]# ps -ef | grep redis
root 19927 2697 0 12:51 pts/0 00:00:00 grep redis
[root@localhost opt]#
(2)正常关闭
# 查看redis进程
[root@localhost opt]# ps -ef |grep redis
root 19929 1 0 12:51 ? 00:00:00 redis-server /etc/redis-master.conf
root 19934 1 0 12:51 ? 00:00:00 redis-server /etc/redis-slave.conf
root 20446 2697 0 15:25 pts/0 00:00:00 grep redis
# 没有密码的情况下关闭命令 如果设置密码会提示错误 如果是本机(-h 127.0.0.1 )是可选项
[root@localhost opt]# redis-cli -h 127.0.0.1 -p 6380 shutdown
(error) ERR operation not permitted
[root@localhost opt]# redis-cli -h 127.0.0.1 -p 6379 shutdown
(error) ERR operation not permitted
# 设置密码的时候需要加上密码才能关闭
[root@localhost opt]# redis-cli -p 6379 -a 5678 shutdown
[root@localhost opt]# ps -ef |grep redis
root 19934 1 0 12:51 ? 00:00:00 redis-server /etc/redis-slave.conf
root 20463 2697 0 15:31 pts/0 00:00:00 grep redis
[root@localhost opt]# redis-cli -p 6380 -a 1234 shutdown
[root@localhost opt]# ps -ef |grep redis
root 20466 2697 0 15:31 pts/0 00:00:00 grep redis
[root@localhost opt]#