Linux安装redis(基于CentOS系统,Ubuntu也可参考)

前言:本文内容为实操记录,仅供参考!

一、下载并解压Redis

1、执行下面的命令下载redis:
wget https://download.redis.io/releases/redis-6.2.6.tar.gz

2、解压redis:
tar xzf redis-6.2.6.tar.gz

3、移动redis目录,一般都会将redis目录放置到 /usr/local/redis目录:
mv redis-6.2.6 /usr/local/redis

二、编译并安装redis

1、进入redis安装目录,执行make命令编译redis:
cd /usr/local/redis
make

等待make命令执行完成即可。

如果执行make命令报错:cc 未找到命令,原因是虚拟机系统中缺少gcc,执行下面命令安装gcc:
yum -y install gcc automake autoconf libtool make

如果执行make命令报错:致命错误:jemalloc/jemalloc.h: 没有那个文件或目录,则需要在make指定分配器为libc。执行下面命令即可正常编译:
make MALLOC=libc

make命令执行完,redis就编译完成了。

2、执行下面命令安装redis,并指定安装目录
make install PREFIX=/usr/local/redis至此,redis即安装成功。

三、启动redis

1、进入redis安装目录,执行下面命令启动redis服务
./bin/redis-server redis.conf

此时,可以看到redis服务被成功启动:但这种启动方式不能退出控制台,如果退出,那么redis服务也会停止。如果想要redis以后台方式运行,需要修改redis的配置文件:redis.conf 。将该配置文件中的daemonize no 改为daemonize yes即可:
补充:

  1. 通过将redis.conf配置文件中的bind 127.0.0.1 -::1注释掉,实现redis服务允许远程连接。
  2. 通过在redis.conf配置文件中添加requirepass '此处为密码',实现登录校验。

修改完成后,重新执行启动命令启动redis,然后通过下面命令查看redis进程,可以发现redis服务已经被启动了:
ps -ef | grep redis

2、通过redis-cli测试redis是否可用,在redis安装目录执行下面命令:
./bin/redis-cli
3、若设置了登录校验还需要再输入密码进行登录校验:
auth password

4、若没有设置登录校验即可直接进入到redis服务:

此处我们通过下面命令随便set一个字符串类型的值,key是test,value是hello:
set test hello

然后通过下面命令get出test这个key的value值:
get test

测试没有问题,至此,redis在我们的Linux服务器上就已经安装完成了。

附两种报错及解决方案:

  1. 启动Redis报错:
    WARNING overcommit_memory is set to 0 Background save may fail under low memory condition。这是内存的值设置过低的造成的问题。解决:编辑/etc/sysctl.conf,添加vm.overcommit_memory = 1 #表示内核允许分配所有的物理内存
  2. 启动Redis报错:WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.这是因为某个配置文件的值过低,导致无法承载redis服务启动。此时应该再/etc/sysctl.conf文件中添加字段并赋值net.core.somaxconn = 1024,然后执行sysctl -p进行刷新,问题解决。
Redis部署中的问题总汇:http://t.csdnimg.cn/IAslV
相关推荐
chlk12320 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑20 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件20 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
xy1230621 小时前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
崔小汤呀4 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端