Centos7 安装Redis,报错[adlist.o] Error jemalloc/jemalloc.h: No such file or directory

本文详细介绍了在CentOS7系统中安装Redis的过程,包括解决安装过程中的常见错误,如gcc缺失、jemalloc头文件找不到的问题,以及如何通过yum安装依赖库。此外,还提供了设置Redis密码的方法,包括临时和永久生效的两种方式。

redis官网

https://redis.io/download

安装

$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz
$ tar xzf redis-5.0.4.tar.gz
$ cd redis-5.0.4
$ make

启动

src/redis-server

make时候可能报错

xx command not found

CentOS7默认没有安装gcc,这会导致我们无法make成功。使用yum安装:

yum -y install gcc

error: jemalloc/jemalloc.h: No such file or directory

原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。解决办法:make时添加参数。

make MALLOC=libc

make之后,会出现一句Hint提示

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

$ 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

安装完之后再次执行测试

$ make test
.......
\o/ All tests passed without errors!

Cleanup: may take some time... OK
make[1]: Leaving directory `/usr/local/redis-5.0.4/src'

redis设置密码

临时生效

# ./redis-cli 
127.0.0.1:6379> config set requirepass 123456
OK
127.0.0.1:6379> 

永久生效

需更改redis.conf配置文件
requirepass passwoord
重启redis后生效

转载于:https://www.cnblogs.com/aresxin/p/Centos7-an-zhuangRedis-bao-cuo-adlisto-Error-jemal.html

报错 `atal error: jemalloc/jemalloc.h: No such file or directory` 通常是因为系统中缺少 `jemalloc` 库或者 Redis 未能正确找到该库的头文件。以下是几种可能的解决方法: ### 方法一:使用 `--without-jemalloc` 选项重新编译 在配置 Redis 时,可以通过 `--without-jemalloc` 选项来禁用 `jemalloc`,转而使用系统默认的内存分配器。具体步骤如下: ```bash # 进入 Redis 源码目录 cd redis-<version> # 替换 <version> 为你实际的 Redis 版本 # 重新配置,禁用 jemalloc ./configure --without-jemalloc # 编译并安装 make && make install ``` ### 方法二:安装 `jemalloc` 库 如果希望继续使用 `jemalloc`,可以手动安装该库。以下以常见的 Linux 发行版为例: #### Ubuntu/Debian ```bash sudo apt-get update sudo apt-get install libjemalloc-dev ``` #### CentOS/RHEL ```bash sudo yum install jemalloc-devel ``` 安装完成后,重新进入 Redis 源码目录,再次执行 `make` 和 `make install` 命令。 ### 方法三:指定 `jemalloc` 头文件路径 如果 `jemalloc` 已经安装,但 Redis 仍然找不到其头文件,可以在编译时手动指定头文件路径。具体步骤如下: ```bash # 进入 Redis 源码目录 cd redis-<version> # 替换 <version> 为你实际的 Redis 版本 # 重新配置,指定 jemalloc 头文件路径 CFLAGS="-I/path/to/jemalloc/include" ./configure # 编译并安装 make && make install ``` 请将 `/path/to/jemalloc/include` 替换为你系统中 `jemalloc` 头文件的实际路径。 ### 方法四:更新 Redis 源码 有时候,这个问题可能是由于 Redis 源码中的配置问题导致的。可以尝试从官方网站或 GitHub 上下载最新的 Redis 源码,然后重新编译安装。 ```bash # 下载最新的 Redis 源码 wget http://download.redis.io/releases/redis-<latest-version>.tar.gz # 解压 tar -zxvf redis-<latest-version>.tar.gz # 进入解压后的目录 cd redis-<latest-version> # 配置、编译并安装 ./configure make && make install ``` 请将 `<latest-version>` 替换为最新的 Redis 版本号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值