项目中遇到使用redis的情况,单机redis和集群redis在安装与使用过程中都略有不同,而生产项目中很少有单机redis的情况。
也是很多软件的依赖,比如nginx等
yum -y install gcc gcc-c++ make automake autoconf libtool pcre prce-devel zlib zlib-devel openssl openssl-devel
使用版本为redis-7.0.9.tar.gz,可直接去官网下载;或通过以下
链接:https://pan.baidu.com/s/181p209chGBgrUZix3hbuNQ
提取码:hdz2
1)解压:tar -zxvfredis-7.0.9.tar.gz
2)修改文件夹名称:mv redis-7.0.9 redis
3)编译
cd redis
make
cd ./src
make install
1)下载ruby
wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz
tar -xvf ruby-2.5.1.tar.gz
cd ruby-2.5.1
./configure --prefix=/usr/local/rvm //此目录为ruby最终安装目录
make && make install
//安装后 查看下ruby 版本
/usr/local/rvm/bin/ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
2)ruby写入环境变量
vi /etc/profile
//在末尾添加 ruby路径与 上步最终安装目录一致 且不要覆盖原有PATH
RUBY_HOME=/usr/local/rvm
export PATH=$PATH:$RUBY_HOME/bin
source /etc/profile
3)安装ruby所需 zlib包
$yum -y install zlib-devel
$cd ruby-2.5.1/ext/zlib
$ruby ./extconf.rb
$make
$make install
// 此步骤若出现 以下编译错误
// make: *** 没有规则可以创建“zlib.o”需要的目标“/include/ruby.h”。 停止。
// 解决方案为 在Makefile顶部中的增加top_srcdir = ../..
4)安装 ruby 所需 openssl
yum install openssl-devel -y
$cd ruby-2.5.1/ext/openssl
$ruby ./extconf.rb
$make
$make install
// 此步骤若出现 以下编译错误
// make: *** 没有规则可以创建“zlib.o”需要的目标“/include/ruby.h”。 停止。
// 解决方案为 在Makefile顶部中的增加top_srcdir = ../..
5)安装 gem (gem为 ruby 的一个库)
gem install redis
//出现异常:/usr/bin/gem: No such file or directory
//解决方案:ln -s /usr/local/rvm/bin/gem /usr/bin/gem
redis 集群配置最少为 6 个redis-server 实例对象,支持分布式部署(配置在不同的物理机上)。此例仅配置一台物理机上讲解,配置 6 个redis-server 实例对象,对应端口号为7000,7001,7002 ,7003,7004,7005。
cd redis
mkdir redisCluster
cd redisCluster
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
配置redis 配置文件: 拷贝redis 目录下redis.conf 分别放置在7000 ~ 7005 文件夹中。重命名各个文件夹下的 redis.conf 为 redis7000.conf redis7001.conf redis7002.conf redis7003.conf redis7004.conf redis7005.conf
echo /home/redis/redisCluster/7000 /home/redis/redisCluster/7001 /home/redis/redisCluster/7002 /home/redis/redisCluster/7003 /home/redis/redisCluster/7004 /home/redis/redisCluster/7005 | xargs -n 1 cp -v redis.conf
分别修改 redis7001.conf ~ redis7005.conf 为以下内容
bind 127.0.0.1 // 绑定的ip 地址
port xxx // 修改为所要启动的端口号 如:7000 7001 或 7002
daemonize yes // 后台启动
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001,7002
cluster-enabled yes //开启集群
cluster-config-file nodes_7000.conf //集群配置文件 分别对应 nodes_7000.conf nodes_7001.conf nodes_7002.conf 等
cluster-node-timeout 5000 //请求超时 优化为5秒
appendonly yes //aof日志开启 用于持久化
启动 各个 redis 进程
redis-server /home/redis/redisCluster/7000/redis7000.conf
redis-server /home/redis/redisCluster/7001/redis7001.conf
redis-server /home/redis/redisCluster/7002/redis7002.conf
redis-server /home/redis/redisCluster/7003/redis7003.conf
redis-server /home/redis/redisCluster/7004/redis7004.conf
redis-server /home/redis/redisCluster/7005/redis7005.conf
启动集群
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
默认情况下,Redis服务端只允许它所在服务器上的客户端访问,如果Redis服务端和Redis客户端不在同一个机器上,就要进行配置。
bind 192.168.68.150 127.0.0.1