Redis系列:安装

Posted 我是满意吖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis系列:安装相关的知识,希望对你有一定的参考价值。

本系列介绍Redis,从安装到使用,太简单的使用不介绍了,介绍一些比较有意思的功能,也会介绍一些原理性的东西。本篇先介绍Redis的单实例安装。Redis还可以做到高可用,通过哨兵和集群可以做到高可用,这两个后面做介绍。

一、准备工作

本系列使用的系统是CentOS 7.5,先查看你的电脑是否安装了gcc,因为安装Redis时是用源码编译安装的,可以使用下面的命令来检查

gcc -v

如果没安装会提示没有命令没找到,可以用yum命令一键安装

yum -y install gcc gcc-c++ kernel-devel

二、下载源码包

用wget命令下载源码包

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

你也可以在下面的网站页面找到你想安装到版本,如果在生产环境还是建议使用稳定版

http://download.redis.io/releases/

比如这里我下载到/usr/local/src目录下,然后进入在这个目录,解压文件

tar -zcvf redis-5.0.8.tar.gz

二、编译安装

解压后进入到redis-5.0.8目录进行编译

make malloc=libc

编译成功后会在redis-5.0.8/src目录下生成一些二进制的文件,这些文件就是可执行的redis相关的文件了。这时候redis会提供叫你执行make test来测试各个功能模块的可用性,你可以测试一下:

make test

如果出来以下的错误

You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1

说明你的机器上缺少tcl或者版本太低,可以安装或升级tcl

[root@localhost tmp]# wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
[root@localhost tmp]# tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/
[root@localhost tmp]# cd  /usr/local/tcl8.6.1/unix/
[root@localhost unix]# ./configure
[root@localhost unix]# make
[root@localhost unix]# make install

安装完成后就可以执行make test

没出问题就可以执行以下命令来启动redis服务:

./src/redis-server

如果你看到以下的启动信息说明成功了

                _._                                                  
           _.-``__ ‘‘-._                                             
      _.-``    `.  `_.  ‘‘-._           Redis 5.0.8 (00000000/0) 64 bit
  .-`` .-```.  ```/    _.,_ ‘‘-._                                   
 (    ‘      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|‘` _.-‘|     Port: 6379
 |    `-._   `._    /     _.-‘    |     PID: 49122
  `-._    `-._  `-./  _.-‘    _.-‘                                   
 |`-._`-._    `-.__.-‘    _.-‘_.-‘|                                  
 |    `-._`-._        _.-‘_.-‘    |           http://redis.io        
  `-._    `-._`-.__.-‘_.-‘    _.-‘                                   
 |`-._`-._    `-.__.-‘    _.-‘_.-‘|                                  
 |    `-._`-._        _.-‘_.-‘    |                                  
  `-._    `-._`-.__.-‘_.-‘    _.-‘                                   
      `-._    `-.__.-‘    _.-‘                                       
          `-._        _.-‘                                           
              `-.__.-‘                                            

我们新开一个终端端口,用面的命令来启动redis客户端

./src/redis-cli

然后就可以操作redis了:

[root@localhost src]# ./redis-cli 
127.0.0.1:6379> set one 1
OK
127.0.0.1:6379> get one
"1"

我们先按下Ctrl+C终止redis,然后进行安装,这一步是可选的

执行以下命令安装redis到/usr/local/bin目录

cd src		#先进入src目录
make install	#把二进制文件安装到/usr/local/bin目录下

这么做的好处是可以在任意目录下执行redis相关的脚本,你也可以把redis安装到指定目录,命令如下:

cd src		#先进入src目录
make PREFIX=/path/to/install install	#把二进制文件安装到/path/to/install目录下

三、启动redis服务

假定现在的工作目录是redis的根目录。

  1. 用默认的方式启动
cd src
./redis-server
  1. 可以指定配置文件
cd src
./redis-server /path/conf/redis.conf	#指定了配置文件
  1. 在命令中带上配置参数
cd src
./redis-server --port 9999 --replicaof 127.0.0.1 6379
./redis-server /etc/redis/6379.conf --loglevel debug

建议使用方式2

四、配置文件

如果直接启动redis服务,会发现它会一直占用前端,我们可以通过修改配置文件做一些变动,在redis的根目录下有个redis.conf文件,我们先对它备份

cp redis.conf redis.conf.bak

然后编辑redis.conf,里面有一行(136行)daemonize no,我们把no改为yes

daemonize yes

保存退出,然后通过制定配置文件的方式执行redis-server,这时redis已经在后台启动了

[root@localhost redis-5.0.8]# ./src/redis-server redis.conf
30523:C 07 Dec 2019 23:13:59.650 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
30523:C 07 Dec 2019 23:13:59.650 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=30523, just started
30523:C 07 Dec 2019 23:13:59.650 # Configuration loaded
[root@localhost redis-5.0.8]# ps aux | grep redis
root      30524  0.0  0.0 144028  2032 ?        Ssl  23:13   0:00 ./src/redis-server 127.0.0.1:6379
root      30537  0.0  0.0 112712   960 pts/0    S+   23:14   0:00 grep --color=auto redis

redis配置更多参数可以直接阅读配置文件,每个参数的都有详细的注释说明,这里不再一一演示。

五、开机启动

设置开机启动前最好在第二步执行了执行了make install的安装操作,redis已经给用户准备了一个脚本,如下

./utils/install_server.sh

整个过程需要做一些设置,设置好之后会安装服务,最后提示成功

Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

执行了开机启动脚本会复制一份redis.conf到/etc/redis/6379.conf,而且daemonize的值会自动设置成yes,换一句话说就是开机启动后的redis就是一个运行在后台的服务。

执行完成后我们可以尝试重启机器,查看redis是否自启动

[root@localhost ~]# ps aux | grep redis
root       1175  0.1  0.2 153996  7680 ?        Ssl  06:29   0:00 /usr/local/bin/redis-server 127.0.0.1:6379

以上是关于Redis系列:安装的主要内容,如果未能解决你的问题,请参考以下文章

Redis 6.0 系列 | TLS源码分析

Redis系列2-Redis安装配置

redis系列:redis介绍与安装

redis系列01:源码安装redis-3.2.10

Redis系列--1环境安装连接

Redis系列--安装helloworld以及读懂配置文件