Linux值Redis缓存的编译安装

通过wget方式直接在linux上下载Redis
[root@livecd root]#wget http://download.redis.io/releases/redis-3.2.3.tar.gz
解压下载的redis-2.6.17.tar.gz 文件
[root@livecd root]#tar -zxvf redis-3.2.3.tar.gz
进入解压后的文件夹
[root@livecd root]#cd redis-3.2.3
编译

[root@livecd redis-3.2.3]# make
测试是否正常编译成功:
[root@livecd redis-3.2.3]# make test #正常情况下显示各个模块都安装成功[ok]
安装:
[root@livecd redis-3.2.3]# make install
在安装redis成功后,你将可以在/usr/local/bin看到一个bin的目录,里面包括了以下文件,当然在解压的安装包目录(即执行make install的工作目录)下的./src(本案例中/root/redis-3.2.3/src)目录下也会生成下面的文件:(如果在编译的时候指定安装目录make prefix=/usr/local/redis,那么下面文件同样会出在/usr/local/redis/bin目录)

redis-benchmark  redis-check-aof  redis-check-dump(wyq:该文件在2.4.4版本生成,在3.2.3版本貌似改称为redis-check-rdb)  redis-cli  redis-server

redis-server:Redis服务器的daemon启动程序

redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

redis-check-aof:数据修复

redis-check-dump:检查导出工具

运行:

通过执行src文件夹下的redis-server,可以启动redis服务:
[root@livecd redis-3.2.3]# src/redis-server ./redis.conf #当然也可以执行/usr/local/bin/redis-server /root/redis-3.2.3/redis.conf来启动
5713:M 23 Aug 09:53:09.277 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 3.2.3 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 5713
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

5713:M 23 Aug 09:53:09.279 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
5713:M 23 Aug 09:53:09.279 # Server started, Redis version 3.2.3
5713:M 23 Aug 09:53:09.279 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
5713:M 23 Aug 09:53:09.279 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
5713:M 23 Aug 09:53:09.279 * The server is now ready to accept connections on port 6379

我们在第一步中开启redis进程后不要关闭该进程,因为上述进程是一个普通进程,即如果关闭上述客户端命令窗口或终止上述进程,那么redis进行会被关闭,为了redis可以持久执行我们可以通过将该进程改为守护进程或者将其加工为一个服务的形式,后面我们将介绍。此处在不结束第一步的命令的前提下,我们重新打开一个与服务器的ssh通信,通过执行src文件夹下的redis-cli, 可以访问redis服务。

[root@livecd redis-3.2.3]# src/redis-cli
127.0.0.1:6379> set foo wangyaqiang
OK
127.0.0.1:6379> get foo
"wangyaqiang"
127.0.0.1:6379> exit
[root@livecd redis-3.2.3]#
将redis做成一个守护进程(参见本节点同级节点【redis做成守护进程】)
将redis的命令所在目录添加到系统环境变量$PATH,从而实现在任意目录可以调用redis-server等命令(参见本节点同级节点【redis操作目录添加到系统环境变量PATH】)
复制一份配置文件到/etc目录,从而方便以后管理修改启动等。
[root@livecd redis-3.2.3]# cp ./redis.conf  /etc/redis.conf
6ok啦,现在我们可以在任何目录以下面的方式来启动或操作redis喽!
[root@iZ25ja2kaemZ redis-3.2.3]# redis-server /etc/redis.conf
[root@iZ25ja2kaemZ redis-3.2.3]# ps axu|grep redis
root      1070  0.0  0.7 133524  7544 ?        Ssl  13:37   0:00 redis-server 127.0.0.1:6379
root      1074  0.0  0.0 103252   836 pts/0    S+   13:37   0:00 grep redis
[root@iZ25ja2kaemZ redis-3.2.3]#
关闭redis服务
[root@iZ25ja2kaemZ redis-3.2.3]# redis-cli -p 6379 shutdown #如果不指定端口默认端口为6379
如果有密码,那么 [root@iZ25ja2kaemZ ~]#  redis-cli -p 6379 -a 123456789abc  shutdown

为了以后重启服务器时候,希望该redis服务自动启动,那么我们可以将其做成一个服务(参见本节点同级节点【redis做成一个服务】))

测试用例:

/usr/local/bin/redis-server /root/redis-3.2.3/redis.conf  #开启
/ root/redis-3.2.3/src/redis-cli #使用客户端链接服务
/root/redis-3.2.3/src/redis-server /root/redis-3.2.3/redis.conf  #开启

安装过程可能出现的问题:

1.CentOS6.5默认没有安装gcc,因为如果使用源码安装软件包,必须用到该gcc模块,这会导致我们无法make成功。出现如下错误:

make: cc: Command not found make: *** [adlist.o] Error 127

使用yum安装:

yum -y install gcc

2.make时报如下错误:

[root@livecd redis-3.2.3]# make
cd src && make all
make[1]: Entering directory `/usr/local/redis/redis-3.2.3/src'
    CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/usr/local/redis/redis-3.2.3/src'
make: *** [all] Error 2
原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。解决办法:make时添加参数。

make MALLOC=libc

3.make之后,会出现一句提示

Hint: To run 'make test' is a good idea ;) 
但是不测试,通常是可以使用的。若我们运行make test ,会有如下提示

[devnote@devnote src]$ make test
You need tcl 8.5 or newer in order to run the Redis test
make: ***[test] Error_1
解决办法是用yum安装tcl8.5(或去tcl的官方网站http://www.tcl.tk/下载8.5版本,并参考官网介绍进行安装)

yum install tcl

(0)

相关推荐

  • 编译安装redis

    编译安装redisd 目录 编译安装redisd 安装方法: yum安装 编译安装 安装方法: yum安装 查看yum仓库redis版本 [root@centos ~]# yum list redis ...

  • Linux下安装Redis

    环境 Centos7.6 redis-3.0.0 下载 官网下载:http://download.redis.io/releases/redis-3.0.0.tar.gz 安装 解压 tar -xzv ...

  • linux 开机自启动redis服务

    [Unit]Description=The redis-server Process ManagerDocumentation=https://redis.io/After=network.targe ...

  • Linux下通过源码编译安装程序

    本文简单的记录了下,在Linux下如何通过源码安装程序,以及相关的知识. 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的 ...

  • linux http服务源码编译安装详解

    相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下. 什么是编译安装--编译:将源代码变为机器可执行的代码文件. ...

  • 迅为3399开发板Linux固件编译-安装源码依赖包-编译Linux源码

    一 安装 Linux 源码依赖包 如果您使用的是搭建好编译环境的 Ubuntu16.04 虚拟机镜像,Linux 源码依赖包已经安装好了,不必重 复安装 使用如下命令安装所需的软件包: 1.sudo ...

  • Linux版Redis安装

    Linux版Redis安装

  • Linux系统(CentOS)软件的编译安装

    Linux系统(CentOS)软件的编译安装 1 .首先,将安装文件下载拷贝至你的某个目录中.例如,如果你是以root身份登录上的,就将软件拷贝至/root中. #cp xxx.tar.gz /roo ...

  • Linux编译安装相关命令

    Linux编译安装相关命令

  • Linux编译安装RTL8192CU芯片驱动

    我的是B-LINK网卡,只知道采用的是RTL的8192芯片.也就是说,如果有RTL对应芯片的源码驱动,经过编译安装,同样可以使无线网卡在我的Linux下面工作起来.首先,需要注意的是centos 7的 ...

  • Centos中Redis的下载编译与安装(超详细)

    场景 NoSQL,泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充.随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数 ...