linux下的Redis的编译安装与配置

配合做开发经常会用到redis,整理下编译安装配置过程,仅供参考!

--------------------------------------Redis的安装与配置--------------------------------------

下载 wget https://download.redis.io/releases/redis-6.2.6.tar.gz

tar -zxvf redis-6.2.6.tar.gz

编译环境依赖:

gcc --version # 安装命令

yum install -y gcc tcl

遇到tcl安装包找不到的情况:

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/tcl-8.5.13-8.el7.x86_64.rpm

如果网络上找不到的话,可在 光盘目录下的Packages下找到 tcl-8.5.13-8.el7.x86_64.rpm

(很多人只知道在网上找,其实,你在你的安装盘.iso的扩展程序库里面基本都能找到,而且是直接匹配当前操作系统的各种软件,直接rpm就能装来用,而且肯定匹配版本。我写这篇文章基本就是为了这句话的)

进行手动安装:

rpm -ivh tcl-8.5.13-8.el7.x86_64.rpm


--------------------------------------Redis编译安装及配置--------------------------------------

进入源码目录:cd redis-6.2.6

编译源码

make

安装到指定目录(关键步骤 /usr/local/redis )

make PREFIX=/usr/local/redis install

将 Redis 的可执行文件路径添加到 PATH 环境变量:

echo 'export PATH=$PATH:/usr/local/redis/bin' >> ~/.bashrc

source ~/.bashrc

--------------------------------------配置redis.conf--------------------------------------

到redis源码目录下

cp /home/tools/redis-6.2.6/redis.conf /usr/local/redis/bin/redis.conf

修改配置:

确保以下配置正确

daemonize yes

必须为 yes(systemd 不依赖此参数但避免冲突)

dir /usr/local/redis/data # 数据目录路径必须存在且可写

logfile "/usr/local/redis/logs/redis.log" # 日志路径必须存在

bind 0.0.0.0 # 若需远程访问需解除注释

protected-mode no # 若需远程访问需关闭

创建redis用户和组:

sudo groupadd redis

useradd -s /sbin/nologin -M redis

创建不可登录的mysql用户设置权限

确认 /usr/local/redis 目录所有权

chown -R redis:redis /usr/local/redis # 确认数据和日志目录权限

mkdir -p /usr/local/redis/logs

mkdir -p /usr/local/redis/data

各种权限必须到位,不然就这个写不进去那个无法记录:

chown redis:redis /usr/local/redis/logs

chmod 755 /usr/local/redis/logs

chmod 644 /usr/local/redis/logs/redis.log

chown redis:redis /usr/local/redis/data

chmod 755 /usr/local/redis/data

chmod 755 /usr/local/redis

chmod 755 /usr/local/redis/data


--------------------------------------外部工具访问的防火墙设置--------------------------------------

打开防火墙6379端口,供外界访问,如果只内部访问可以不用管:

root@localhost redis\]# firewall-cmd --list-ports \[root@localhost redis\]# firewall-cmd --zone=public --add-port=6379/tcp --permanent success \[root@localhost redis\]# firewall-cmd --reload Success ![](https://i-blog.csdnimg.cn/direct/8e040144dd49421ea1aa650e32d00a1f.png) 永久开放某个端口例如:xxxxx端口 \[root@localhost \~\]# sudo firewall-cmd --permanent --add-port=xxxxx/tcp success \[root@localhost \~\]# sudo firewall-cmd --reload Success *** ** * ** *** 测试redis运行情况: redis-cli shutdown redis-cli ping redis-server ![](https://i-blog.csdnimg.cn/direct/b9f3b60c4fba4597a628145d9f369473.png) -----------------------------------------启动并设为开机启动------------------------------------------------------ 创建 Systemd 服务文件 /etc/systemd/system/redis.service:内容如下 \[Unit

Description=redis-server

After=network.target

Service

Type=forking

ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

PrivateTmp=true

Install

WantedBy=multi-user.target


重新加载配置:

systemctl daemon-reload

设置开机启动

systemctl enable redis.service

systemctl stop redis

systemctl start redis

systemctl status redis


相关推荐
JZC_xiaozhong7 小时前
数据不互通、审批慢?企业多系统智能协同与流程自动化解决方案
运维·自动化·流程管理·流程自动化·数据集成与应用集成·流程监控·流程可视化设计
爱学习的小囧7 小时前
ESXi 8.0 原生支持 NVMe 固态硬盘吗?VMD 配置详解教程
linux·运维·服务器·esxi·esxi8.0
NCIN EXPE7 小时前
redis 使用
数据库·redis·缓存
坚持就完事了7 小时前
Linux中的变量
linux·运维·服务器
hERS EOUS7 小时前
nginx 代理 redis
运维·redis·nginx
handler017 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
Cat_Rocky8 小时前
利用Packet Tracer网络实验
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志8 小时前
Linux 驱动实战:SR501 人体红外传感器驱动开发与调试全记录
linux·运维·驱动开发
正点原子8 小时前
【正点原子Linux连载】第三章 U-Boot使用 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南
linux·运维·驱动开发
Qbw20048 小时前
【Linux】进程地址空间
linux·c++