centOS7安装Redis

centOS7安装Redis

安装前准备:可访问外网的centos7虚拟机+远程ssh连接工具,我用的是FinalShell

写在前面

此文章为记录自己在centos7中部署redis的过程,希望能给有需要的人一点指导;本人能力有限,如有错误,请大家提出,共同探讨。
如需复制代码块中的命令,记得不要复制注释!

1.安装依赖

redis以C语言开发,因此需要gcc依赖,安装前可查看是否安装gcc

gcc -v

若没有安装则使用yum安装

yum install -y gcc

2.下载目标至目录

一般安装在/usr/local目录下

cd /usr/local
wget http://download.redis.io/releases/redis-6.0.9.tar.gz

也可在提前下载安装压缩包,上传至相应目录

3.解压

tar -zxvf redis-6.0.9.tar.gz

解压后通过ls命令查看目录下是否有对应的解压文件夹;然后可通过rm redis-6.0.9.tar.gz删除压缩包(可选)

4.编译

进入redis解压目录并进行编译

cd ./redis-6.0.9
make

如编译过程中报server.c:5342:39: 错误:‘struct redisServer’没有名为‘maxmemory’的成员此类错误,可查看gcc是否为5.3以上版本,若不是需要升级到5.3版本

#升级到 5.3及以上版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
 
scl enable devtoolset-9 bash
 

以上命令执行成功之后可再进入redis目录下执行make进行编译

5.安装

make PREFIX=/usr/local/redis-6.0.9 install

这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis-5.0.7目录。假设不添加该关键字Linux会将
可执行文件存放在/usr/local/bin目录;
库文件会存放在/usr/local/lib目录;
配置文件会存放在/usr/local/etc目录;
其他的资源文件会存放在usr/local/share目录;
这里指定好目录也方便后续的卸载,后续直接rm -rf /usr/local/redis-6.0.9即可删除redis。

6.修改配置

vim redis.conf
## 显示行号
:set nu

(1)注释掉bind,否则只能本机连接
在这里插入图片描述
(2)protected-mode改成no

protected-mode指的是保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
在这里插入图片描述

(3)daemonize改成yes

yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
在这里插入图片描述

7.启动

进入redis目录下的bin目录,运行redis-server

cd bin
./redis-server

8.设置redis开机自启

(1)新建系统服务

vim /etc/systemd/system/redis.service
Description=redis-server
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/redis-6.0.9/bin/redis-server /usr/local/redis-6.0.9/redis.conf
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

(2)重载系统服务

systemctl daemon-reload

(3)启动redis

##启动redis
systemctl start redis.service   
##查看redis状态
systemctl status redis.service 
##停止redis
systemctl stop redis.service  
##开机自启
systemctl enable redis.service  

9.连接测试

(1)对外开放6379端口

##查看防火墙状态  需要开启防火墙
systemctl status firewalld
##若防火墙未开启,需开启防火墙
systemctl start firewalld
## 开放指定端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent

命令含义:
–zone #作用域
–add-port=6379/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

(2)查看是否开放端口

## 配置立即生效
firewall-cmd --reload
##查看端口是否成功开放  yes为开放 no为未开放
firewall-cmd --query-port=6379/tcp

(3)连接测试

用Redis Desktop Manager连接测试,此步略。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值