编译安装redis及配置多实例

yum安装是这种十分简单的方法我们就不在提及了,今天我们来做一下redis的编译安装
编译安装redis及配置多实例_第1张图片

Redis源码包官方下载链接:http://download.redis.io/releases/
编译安装redis及配置多实例_第2张图片

一、编译安装:

安装依赖包

dnf -y install make gcc jemalloc-devel systemd-devel

如果是Ubuntu系统请安装以下包

apt -y install make gcc libjemalloc-dev libsystemd-dev

下载源码并解压

wget http://download.redis.io/releases/redis-6.2.8.tar.gz
tar -zxf redis-6.2.8.tar.gz

编译安装,默认使用systemd文件

cd redis-6.2.8
make -j 2 USE_SYSTEMD=yes PREFIX=/data/redis install
# -j 根据机器的CPU核数配置来编译,速度更快

配置环境变量

echo 'PATH=/data/redis/bin:$PATH' > /etc/profile.d/redis.sh
. /etc/profile.d/redis.sh 

目录结构
编译安装redis及配置多实例_第3张图片

准备相关目录和配置文件

mkdir /data/redis/{etc,log,data,run}
cp /root/redis-6.2.8/redis.conf /data/redis/etc/

前台启动redis

redis-server /data/redis/etc/redis.conf

编译安装redis及配置多实例_第4张图片
查看端口启动情况
在这里插入图片描述
消除启动redis时有的Warring信息,可以用下边方法消除告警,但非强制消除(可选)

vim /etc/sysctl.conf
net.core.somaxconn = 1024
vm.overcommit_memory = 1

sysctl -p

开启redis多实例
在新开的窗口下执行此命令

redis-server --port 6380

编译安装redis及配置多实例_第5张图片
再次查看端口启动情况
编译安装redis及配置多实例_第6张图片
编译安装redis及配置多实例_第7张图片
创建redis用户和设置数据目录权限

useradd -r -s /sbin/nologin redis

#设置目录权
chown -R redis.redis /data/redis

创建redis服务的services文件
(可以复制centos8利用yum安装redis生成的redis.service文件,进行修改)

[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/data/redis/bin/redis-server /data/redis/etc/redis.conf --supervised systemd
ExecStop=/bin/kill -s QUIT $MAINPID
Type=notify
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
LimitNOFILE=1000000

[Install]
WantedBy=multi-user.target

通过service方式启动redis

systemctl daemon-reload
systemctl enable --now redis

验证客户端连接redis
编译安装redis及配置多实例_第8张图片
修改redis的连接为全部可连接,并且为redis配置密码
修改redis的配置文件

vim /data/redis/etc/redis.conf

bind 0.0.0.0
requirepass 123456

修改完毕后重启redis实例

systemctl restart redis

验证
编译安装redis及配置多实例_第9张图片

二、redis多实例

测试环境中经常使用多实例,需要指定不同实例的相应端口,配置文件,日志文件等相关配置
以编译安装为列实现redis多实例

查看目录结构
编译安装redis及配置多实例_第10张图片
先停止现有的redis实例

systemctl stop redis.service

修改redis配置文件同时新增两份

mv /data/redis/etc/redis.conf /data/redis/etc/redis6379.conf
sed 's/6379/6380/' /data/redis/etc/redis6379.conf > /data/redis/etc/redis6380.conf 
sed 's/6379/6381/' /data/redis/etc/redis6379.conf > /data/redis/etc/redis6381.conf 

修改配置文件的所有者和所属组

chown -R redis.redis /data/redis/etc/

同理修改service文件

mv /lib/systemd/system/redis.service /lib/systemd/system/redis6379.service

vim /lib/systemd/system/redis6379.service
ExecStart=/data/redis/bin/redis-server /data/redis/etc/redis6379.conf --supervised systemd

cp /lib/systemd/system/redis6379.service /lib/systemd/system/redis6380.service
cp /lib/systemd/system/redis6379.service /lib/systemd/system/redis6381.service

sed -i 's/redis6379/redis6380/' /lib/systemd/system/redis6380.service
sed -i 's/redis6379/redis6381/' /lib/systemd/system/redis6381.service

重启服务

systemctl daemon-reload
systemctl enable --now redis6379.service
systemctl enable --now redis6380.service
systemctl enable --now redis6381.service

验证
在这里插入图片描述

你可能感兴趣的:(redis,redis,编译安装,多实例)