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
相关推荐
Villiam_AY1 小时前
Redis 缓存机制详解:原理、问题与最佳实践
开发语言·redis·后端
java叶新东老师3 小时前
git stash 命令详解
linux·运维·flink
写bug的羊羊5 小时前
CentOS 9 配置国内 YUM 源
linux·运维·centos
GEM的左耳返5 小时前
Java面试全攻略:Spring生态与微服务架构实战
spring boot·redis·spring cloud·微服务·kafka·java面试
程序员勋勋16 小时前
Redis的String数据类型底层实现
数据库·redis·缓存
颜颜yan_6 小时前
Python面向对象编程详解:从零开始掌握类的声明与使用
开发语言·redis·python
Johny_Zhao7 小时前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
守望时空338 小时前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈8 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
白鹭8 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache