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]#