linux redis安装
1.CentOS7 联网
2.进入redis官网 https://redis.io/download
3.官网有详细教程
在执行make命令时,报错:
(echo "" > .make-ldflags)
MAKE hiredis
cd hiredis && make static
make[3]: 进入目录“/usr/local/redis-5.0.0/deps/hiredis”
gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
make[3]: gcc:命令未找到
make[3]: *** [net.o] 错误 127
make[3]: 离开目录“/usr/local/redis-5.0.0/deps/hiredis”
make[2]: *** [hiredis] 错误 2
make[2]: 离开目录“/usr/local/redis-5.0.0/deps”
make[1]: [persist-settings] 错误 2 (忽略)
解决方案,https://blog.****.net/antma/article/details/79066442 感谢
错误原因:
因为Redis是C实现的,需要gcc来进行编译,所以原因是系统未安装gcc,按顺序执行:
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
都安装完毕后,再执行make
此时又报错:
[[email protected] redis-5.0.0]# make
cd src && make all
make[1]: 进入目录“/usr/local/redis-5.0.0/src”
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
#include <jemalloc/jemalloc.h>
^
编译中断。
make[1]: *** [adlist.o] 错误 1
make[1]: 离开目录“/usr/local/redis-5.0.0/src”
make: *** [all] 错误 2
错误原因:感谢(https://blog.****.net/honchou56/article/details/53994708)
分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数,运行如下命令:
make MALLOC=libc
所以,执行 make MALLOC=libc 即可完成安装
4.后续即可按照官网执行启动server,redis启动完成