linux 单机模拟Redis集群安装

项目中遇到使用redis的情况,单机redis和集群redis在安装与使用过程中都略有不同,而生产项目中很少有单机redis的情况。

1.redis依赖安装

也是很多软件的依赖,比如nginx等

yum -y install gcc gcc-c++ make automake autoconf libtool pcre prce-devel zlib zlib-devel openssl openssl-devel

2.redis下载

使用版本为redis-7.0.9.tar.gz,可直接去官网下载;或通过以下
链接:https://pan.baidu.com/s/181p209chGBgrUZix3hbuNQ
提取码:hdz2

3.redis安装与编译

1)解压:tar -zxvfredis-7.0.9.tar.gz
2)修改文件夹名称:mv redis-7.0.9 redis
3)编译
	cd redis
	make
	cd ./src
	make install

4.安装ruby

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

5.配置 redis 集群

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 70017002 
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

6.设置外部可访问

默认情况下,Redis服务端只允许它所在服务器上的客户端访问,如果Redis服务端和Redis客户端不在同一个机器上,就要进行配置。

bind 192.168.68.150 127.0.0.1

你可能感兴趣的:(linux,redis)