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.13.tar.gz http://redis.googlecode.com/files/redis-2.6.13.tar.gz
二、 安装
linux下安装:
解压
- tar -xzvf redis-2.6.13.tar.gz
解压完成进入redis目录编译:如果在make过程中没有提示错误的话,安装就成功了
- # 进入目录
- cd redis-2.6.13
- # 编译
- 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]#