一、判断是否安装了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
- 停止redis服务
bash
systemctl stop redis
- 再次查看redis状态
bash
systemctl status redis
- 最后再次开机自启
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