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连接测试,此步略。