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


相关推荐
津津有味道4 分钟前
Qt C++串口SerialPort通讯发送指令读写NFC M1卡
linux·c++·qt·串口通信·serial·m1·nfc
JeffersonZU43 分钟前
Linux/Unix文件IO(文件描述符、原子操作、文件数据结构、open、read、write、fcntl、dup)
linux·c语言·unix·gnu
szekl1 小时前
HDMI 2.0 4×2矩阵切换器412HN——多信号输入输出的高清解决方案
linux·矩阵·计算机外设·电脑·ekl
weixin_399380692 小时前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
阿巴~阿巴~2 小时前
Linux基本命令篇 —— uname命令
linux·运维·服务器
天空之城夢主2 小时前
KVM高级功能部署
linux·服务器
都叫我大帅哥2 小时前
Redis GEO全解:从入门到精通,让你的应用“空间觉醒”
redis
IT成长日记2 小时前
【Docker基础】Docker数据卷管理:docker volume ls及其参数详解
运维·docker·容器·volume ls
都叫我大帅哥2 小时前
Redis 的 HyperLogLog:用 12KB 数清银河系星星的魔法计数器
redis
TT哇3 小时前
【Java EE初阶】计算机是如何⼯作的
java·redis·java-ee