Linux安装redis详解

22 篇文章 1 订阅
10 篇文章 0 订阅

在Linux上安装redis:

一、下载5.0.4版本的

wget http://download.redis.io/releases/redis-5.0.4.tar.gz

如果提示未找到 wget 命令,需要安装一下,没有提示,说明之前服务器就有wget 直接跳过此步骤进入下一步:

yum -y install wget

二、安装

解压redis安装包

tar -zxvf redis-5.0.4.tar.gz

进入redis目录

cd redis-5.0.4

编译

make

此处容易报错,一般是依赖未安装的提示,如下:

make[3]: gcc:命令未找到
make[3]: *** [net.o] 错误 127
make[3]: 离开目录“/****/***/redis-5.0.4/deps/hiredis”
make[2]: *** [hiredis] 错误 2
make[2]: 离开目录“/****/***/redis-5.0.4/deps”
make[1]: [persist-settings] 错误 2 (忽略)
    CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/****/***/redis-5.0.4/src”
make: *** [all] 错误 2

安装依赖:

yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++ make automake autoconf -y
yum install gcc-c++ -y
yum -y install gcc  
yum install make  
yum install gcc gcc-c++ kernel-devel 

自己挑需要安装的命令复制即可。
在这里插入图片描述
在这里插入图片描述
再次编译

make

又出错了!!!

zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录

执行命令:

make MALLOC=libc

「解析:」
在README 有这个一段话:

Allocator  
---------  
 
Selecting a non-default memory allocator when building Redis is done by setting  
the `MALLOC` environment variable. Redis is compiled and linked against libc  
malloc by default, with the exception of jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc.  

To force compiling against libc malloc, use:  
 
    % make MALLOC=libc  
 
To compile against jemalloc on Mac OS X systems, use:  
 
    % make MALLOC=jemalloc

关于分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
而且libc 并不是默认的分配器, 默认的是 jemalloc, 因为 jemalloc 被证明,比libc有更少的零碎的问题。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 
所以加这么一个参数。

再次编译

make

没有错误即证明安装编译成功了。
进入src中安装

cd src 
make install

「科普一下」

make all:产生我们设定的目标,即此范例中的可执行文件。只打make也可以,此时会开始编译原始码,然后连结,并且产生可执行文件。
make clean:清除编译产生的可执行文件及目标文件(object file,*.o)make distclean:除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。
make install:将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。如果用bin_PROGRAMS宏的话,程序会被安装至/usr/local/bin这个目录。
make dist:将程序和相关的档案包装成一个压缩文件以供发布。执行完在目录下会产生一个以PACKAGE-VERSION.tar.gz为名称的文件。 PACKAGE和VERSION这两个变数是根据configure.in文件中AM_INIT_AUTOMAKE(PACKAGE,VERSION)的定义。在此范例中会产生test-1.0.tar.gz的档案。
make distcheck:和make dist类似,但是加入检查包装后的压缩文件是否正常。这个目标除了把程序和相关文件包装成tar.gz文件外,还会自动把这个压缩文件解开,执行 configure,并且进行make all 的动作,确认编译无误后,会显示这个tar.gz文件可供发布了。这个检查非常有用,检查过关的包,基本上可以给任何一个具备GNU开发环境的人去重新编译。

为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中
(1)创建bin和etc文件夹

mkdir bin etc 

(2) 移动文件

将目录下的 redis.conf 移动到 etc文件夹下

mv redis.conf ./etc/

mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server 移动到 /redis-5.0.4/bin/ 目录下

cd src/
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server ../bin/

可自行到两个文件夹中查看是不是移动成功。
进入etc中,编辑 redis.conf配置文件,设置后台启动redis服务

vi redis.conf

(1) 开启后台运行
(Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。)

 daemonize yes

在这里插入图片描述

(2) 开启redis远程访问服务
(注释掉 bind 127.0.0.1 ,bind指的是只有指定的网段才能远程访问这个redis限制)

# bind 127.0.0.1

在这里插入图片描述
(3) 保护模式
(是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码 和bind,可以开启。否则最好关闭,设置为no。)

protected-mode no

(4) 修改Redis默认密码
(requirepass 自己的密码)

requirepass foobared

(5) 设置Redis开机启动

vi /etc/rc.d/rc.local

/data/soft/redis-5.0.4/bin/redis-server  /data/soft/redis-5.0.4/etc/redis.conf

(6) 启动redis服务

cd /redis-5.0.0/bin/

 ./redis-server /data/soft/redis-5.0.4/etc/redis.conf  

在这里插入图片描述

2020-06-17 更新部分命令!

ps -ef |grep redis     # 检测后台进程是否存在
netstat -lntp | grep 6379            # 检测6379端口是否在监听
redis-server &           # 加上`&`号使redis以后台程序方式运行
redis-server /usr/local/redis/etc/redis.conf    # 启动redis
pkill redis              # 停止redis
redis-cli shutdown       # 关掉Redis

使用redis-cli客户端检测连接是否正常

redis-cli

127.0.0.1:6379> keys *
(empty list or set)

127.0.0.1:6379> set key "hello world"
OK

127.0.0.1:6379> get key
"hello world"

检测是否有安装redis-cli和redis-server;

[root@localhost bin]# whereis redis-cli
redis-cli: /usr/bin/redis-cli

[root@localhost bin]# whereis redis-server
redis-server: /usr/bin/redis-server

觉得有用的话记得点赞加关注,有什么问题欢迎评论,我们一起探讨,共同进步,您的赞赏是对我最大的支持。

在这里插入图片描述
如果你也是技术宅,如果你也对技术渴望提升,那么我们是同一类人,关注我,我们一起进步吧!
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值