CentOS 7中安装Redis

一、判断是否安装了gcc

bash 复制代码
gcc --version

如果未安装,直接安装gcc环境

bash 复制代码
yum install -y gcc tcl

二、安装Redis

bash 复制代码
 cd /usr/local/ 
bash 复制代码
wget https://download.redis.io/releases/redis-7.2.0.tar.gz

解压redis-7.2.0.tar.gz文件

bash 复制代码
 tar -zxvf redis-7.2.0.tar.gz
bash 复制代码
cd redis-7.2.0
bash 复制代码
make && make install

检查是否安装成功

bash 复制代码
 redis-server
配置

备份

bash 复制代码
 cp redis.conf redis.conf.bck
bash 复制代码
 vi redis.conf

修改的内容如下

搜索功能:/+要搜索的内容,n:下一个搜索结果,N:上一个搜索结果

daemonize 的值从 no 修改成 yes(Redis服务默认是前台运行,需要修改为后台运行)

bash 复制代码
daemonize no ---> daemonize yes

requirepass foobared注释去掉并在后加上密码(注意中间加个空格)

bash 复制代码
requirepass foobared ---> requirepass 123456

设置redis记录日志,默认不记录日志(redis.log为文件名)

bash 复制代码
 logfile " " ---> logfile "redis.log"

进入redis安装路径

可以启动的时候不写redis.conf的全限定名称

bash 复制代码
 redis-server redis.conf

这次启动并没有任何的日志输出,因为已经启动后台运行了,怎么知道有没有进行后台运行呢?

bash 复制代码
ps -ef | grep redis

如何停止呢?

bash 复制代码
kill -9 67859

注意事项:

67859是我的进程号,你们根据实际情况填写自己得进程号

这里一定要停止,否则下面设置开机自启时会出现无法启动的问题!!!

开机自启

新建文件

bash 复制代码
 vi /etc/systemd/system/redis.service

进入之后将以下信息复制进去:(注意ExecStart的内容为你们自己的redis.conf文件的路径)

bash 复制代码
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.2.0/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

之后便保存退出。

退出之后要让文件生效

bash 复制代码
 systemctl daemon-reload

然后重启redis

bash 复制代码
 systemctl start redis

查看redis状态

bash 复制代码
 systemctl status redis
  1. 停止redis服务
bash 复制代码
systemctl stop redis
  1. 再次查看redis状态
bash 复制代码
systemctl status redis
  1. 最后再次开机自启
bash 复制代码
systemctl enable redis

连接

远程

通过Redis服务器的命令行是可以正常使用Redis的, 但是通过工具远程连接就不行,这里主要有两个方面的原因:

操作系统防火墙未关闭
触发了Redis的保护模式

防火墙

其实就是你的远程连接请求被操作系统的防火墙给拦截了,导致你无法进行远程连接,解决方案有两个:

(1)给防火墙增加端口号,让防火墙对于指定的端口号不再进行拦截,类似白名单

(2)关闭防火墙,简单粗暴,但是一般这种操作用的比较多,但是生产环境下,不是很推荐直接关闭,会有安全风险

停止firewalld服务

bash 复制代码
systemctl stop firewalld

禁用firewalld服务,使其不会在系统启动时自动启动

bash 复制代码
systemctl disable firewalld

验证firewalld服务已被禁用

bash 复制代码
systemctl is-enabled firewalld

保护模式

同时满足以下两个条件就会触发Redis的保护模式:

(1)bind未指定ip

(2)未关闭保护模式

解决方案

进入redis.conf

bash 复制代码
 vi redis.conf

(1)将bind 127.0.0.1 -::1注释掉,在下边增加:bind 0.0.0.0

(2)将protected-mode yes修改为:protected-mode no

重启Redis服务

bash 复制代码
systemctl start redis
相关推荐
mounter6251 小时前
Linux 7.2 内核技术前瞻:核心 subsystems 合并与重构深度解析
linux·kernel
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第172题】【07_Redis篇】第8题:`setnx` 做分布式锁存在的问题
java·redis·分布式锁·死锁·setnx
A_humble_scholar1 小时前
Linux(十七)深入多线程编程:同步原语与实战指南
linux·运维·c++
老马聊技术1 小时前
Rocky Linux 9.0 安装 MySQL8.x详细教程
linux·数据库
吴声子夜歌2 小时前
Redis 6.x——整合SpringBoot
数据库·spring boot·redis
xinyu3912 小时前
旧版Ubuntu Docker镜像 apt 失败
linux·ubuntu·docker
Rain的Java大神实战圈2 小时前
每日排行榜功能如何设计
redis·架构设计·面试经验·场景设计题
JZC_xiaozhong2 小时前
OA调价审批后,采购调价单如何自动同步到ERP?解决漏录错价难题
大数据·linux·服务器·前端·数据库·数据孤岛解决方案·数据集成与应用集成
ljs6482739512 小时前
Linux 实用命令:环境变量、文件传输、压缩解压、跨服务器传文件
linux·运维·服务器
hehelm2 小时前
Linux网络编程—HTTP静态文件服务器
linux·服务器·开发语言·网络·c++