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
相关推荐
城南云小白1 小时前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
咩咩大主教1 小时前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
Flying_Fish_roe1 小时前
linux-网络管理-网络配置
linux·网络·php
FuLLovers1 小时前
2024-09-13 冯诺依曼体系结构 OS管理 进程
linux·开发语言
xuanyu222 小时前
Linux常用指令
linux·运维·人工智能
有时间要学习3 小时前
Linux——应用层自定义协议与序列化
linux·服务器·网络
阑梦清川3 小时前
简明linux系统编程--互斥锁--TCP--UDP初识
linux·udp·tcp·互斥锁·信号·解锁·加锁
hardStudy_h3 小时前
Linux——常用系统设置和快捷键操作指令
linux·运维·服务器
XF鸭4 小时前
TCP 和 UDP 协议的区别?
linux
Flying_Fish_roe5 小时前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle