在Linux系统上安装Redis客户端报错:In file included from adlist.c:34 zmalloc.h:50:31: error: jemalloc......

在Centos6.9系统上安装redis客户端时报错,步骤如下:

1.下载redis客户端源码包:

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

2.解压Redis客户端源码包:

   tar -xzf  redis-3.0.7.tar.gz

3.进入Redis目录并编译Redis客户端源码:
   cd  redis-3.0.7

   make

但在执行make后出现了如下报错:

在Linux系统上安装Redis客户端报错:In file included from adlist.c:34 zmalloc.h:50:31: error: jemalloc......_第1张图片

解决办法:查看README文件,有这么一段话:

在Linux系统上安装Redis客户端报错:In file included from adlist.c:34 zmalloc.h:50:31: error: jemalloc......_第2张图片

是关于redis内存分配器选择的描述:在构建Redis时,通过设置“MALLOC”环境变量来选择非默认的内存分配器。Redis默认情况下编译并链接到libc malloc的,但在Linux系统上默认的内存分配器是jemalloc。linux系统之所以选择jemalloc作为默认的内存分配器,是因为jemalloc被证明比libc malloc具有更少的碎片问题。

要强制编译redis使用libc malloc,使用: make malloc=libc  指令

在Mac OS系统上编译redis使用jemalloc,使用: make MALLOC=jemalloc  指令

根据提示执行:make  malloc=libc 

问题解决。  

make  结束后,cd到src目录,执行make install 操作:

cd  src

make install PREFIX=/usr/local/redis

在Linux系统上安装Redis客户端报错:In file included from adlist.c:34 zmalloc.h:50:31: error: jemalloc......_第3张图片

将解压出来的配置文件复制到/usr/local/redis目录下

在Linux系统上安装Redis客户端报错:In file included from adlist.c:34 zmalloc.h:50:31: error: jemalloc......_第4张图片

配置文件启动服务:

默认情况下redis是前台运行,需要把它改为后台运行,修改/usr/local/redis/redis.conf文件:

daemonize yes   # 修改为yes,后台运行

protected-mode no  # 修改为no,关闭安全模式,不然远程连接会报错误

bind 0.0.0.0   # 修改为指定ip,或者0.0.0.0

requirepass  密码 # 设置连接密码

cd 到bin目录下,启动服务:

./redis-server redis.conf

关于服务:

./redis-cli shutdown

作为客户端,连接指定的redis服务器:

./redis-cli -h redis服务器IP或域名  -p 服务端口  -a  密码

你可能感兴趣的:(运维)