当前位置: 首页 > news >正文

编译安装redis及配置多实例

yum安装是这种十分简单的方法我们就不在提及了,今天我们来做一下redis的编译安装
在这里插入图片描述

Redis源码包官方下载链接:http://download.redis.io/releases/
在这里插入图片描述

一、编译安装:

安装依赖包

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 

目录结构
在这里插入图片描述

准备相关目录和配置文件

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时有的Warring信息,可以用下边方法消除告警,但非强制消除(可选)

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

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

redis-server --port 6380

在这里插入图片描述
再次查看端口启动情况
在这里插入图片描述
在这里插入图片描述
创建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的连接为全部可连接,并且为redis配置密码
修改redis的配置文件

vim /data/redis/etc/redis.confbind 0.0.0.0
requirepass 123456

修改完毕后重启redis实例

systemctl restart redis

验证
在这里插入图片描述

二、redis多实例

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

查看目录结构
在这里插入图片描述
先停止现有的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.servicevim /lib/systemd/system/redis6379.service
ExecStart=/data/redis/bin/redis-server /data/redis/etc/redis6379.conf --supervised systemdcp /lib/systemd/system/redis6379.service /lib/systemd/system/redis6380.service
cp /lib/systemd/system/redis6379.service /lib/systemd/system/redis6381.servicesed -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

验证
在这里插入图片描述

http://www.lryc.cn/news/233370.html

相关文章:

  • 网络(一)总纲
  • WPF中的App类介绍
  • .nc格式文件的显示及特殊裁剪方式
  • 为什么需要线程池?C++如何实现一个线程池?
  • 多视图聚类的论文阅读
  • shell脚本适用场景
  • Bash openldap同步AD组织数据
  • C#WPF文本转语音实例
  • 08-流媒体-RTMP拉流
  • 一键免费去除视频水印和字幕的AI工具
  • 实验六:Android的网络编程基础
  • 09-流媒体-FLV解复用
  • 信息的浏览
  • vue directive自定义指令实现弹窗可拖动
  • 07-流媒体-RTMP推流
  • Neo4j安装(Docker中安装Neo4j)
  • 面试求职者
  • Java NIO 详解
  • css设置下划线
  • 【献给过去的自己】栈实现计算器(C语言)
  • 如何利用ChatGPT撰写学术论文?
  • 【PG】PostgreSQL高可用方案repmgr管理之配置文件
  • labelme自动标注工具
  • 【C++学习手札】模拟实现vector
  • Python将图片按照表格形式排列
  • Linux 简要命令记录
  • 深度学习与深度强化学习
  • C++函数重载中形参是引用类型和常量引用类型的调用方法
  • Quest 3期间Sui上游戏处理了数百万笔交易
  • Python中如何定义类、基类、函数和变量?