CentOS 7安装Redis

本文详细记录了在CentOS 7系统中编译安装Redis 4.0.11的过程,包括解决编译过程中遇到的gcc、jemalloc和tcl依赖问题的方法。

准备

CentOS:7

Redis:4.0.11

安装

下载redis安装包并上传
解压
[root@localhost redis]# tar -zxvf redis-4.0.11.tar.gz
执行编译
[root@localhost redis]# make

可能存在异常问题

  • /bin/sh: cc: 未找到命令
[root@localhost redis-4.0.11]# make
cd src && make all
make[1]: 进入目录“/opt/apps/redis/redis-4.0.11/src”
    CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/opt/apps/redis/redis-4.0.11/src”
make: *** [all] 错误 2

redis依赖于gcc进行编译,可使用yum安装,如yum不可用,可以参考CentOS安装配置yum进行配置

[root@localhost redis]# yum install gcc
  • 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
[root@localhost redis-4.0.11]# make
cd src && make all
make[1]: 进入目录“/opt/apps/redis/redis-4.0.11/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]: 离开目录“/opt/apps/redis/redis-4.0.11/src”
make: *** [all] 错误 2

查看 redis 说明文件 README.md ,存在关于 Allocator 的说明信息

Allocator

Selecting a non-default memory allocator when building Redis is done by setting
the MALLOC environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.

To force compiling against libc malloc, use:
% make MALLOC=libc

To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc

关于分配器 Allocator ,如果存在 MALLOC 这个环境变量,会使用这个环境变量去构建 Redis 。但 libc 并不是默认分配器, 默认的是 jemalloc ,因此可以通过指定解决。

make MALLOC=libc
编译测试
[root@localhost redis-4.0.11]# make test
cd src && make test
make[1]: 进入目录“/opt/apps/redis/redis-4.0.11/src”
    CC Makefile.dep
make[1]: 离开目录“/opt/apps/redis/redis-4.0.11/src”
make[1]: 进入目录“/opt/apps/redis/redis-4.0.11/src”
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] 错误 1
make[1]: 离开目录“/opt/apps/redis/redis-4.0.11/src”
make: *** [test] 错误 2

redis编译测试依赖于 tcl,可以 yum 安装

[root@localhost redis-4.0.11]# yum install tcl
编译并安装
[root@localhost redis-4.0.11]# make install

其它

  • 访问来源限制

默认为bind 127.0.0.1,限制本机访问,可设置不限制访问来源IP(注释效果一样)或指定访问IP

bind 0.0.0.0
【四旋翼无人机】具备螺旋桨倾斜机构的全驱动四旋翼无人机:建模与控制研究(Matlab代码、Simulink仿真实现)内容概要:本文围绕具备螺旋桨倾斜机构的全驱动四旋翼无人机展开研究,重点探讨其系统建模与控制策略,结合Matlab代码与Simulink仿真实现。文章详细分析了无人机的动力学模型,特别是引入螺旋桨倾斜机构后带来的全驱动特性,使其在姿态与位置控制上具备更强的机动性与自由度。研究涵盖了非线性系统建模、控制器设计(如PID、MPC、非线性控制等)、仿真验证及动态响应分析,旨在提升无人机在复杂环境下的稳定性和控制精度。同时,文中提供的Matlab/Simulink资源便于读者复现实验并进一步优化控制算法。; 适合人群:具备一定控制理论基础和Matlab/Simulink仿真经验的研究生、科研人员及无人机控制系统开发工程师,尤其适合从事飞行器建模与先进控制算法研究的专业人员。; 使用场景及目标:①用于全驱动四旋翼无人机的动力学建模与仿真平台搭建;②研究先进控制算法(如模型预测控制、非线性控制)在无人机系统中的应用;③支持科研论文复现、课程设计或毕业课题开发,推动无人机高机动控制技术的研究进展。; 阅读建议:建议读者结合文档提供的Matlab代码与Simulink模型,逐步实现建模与控制算法,重点关注坐标系定义、力矩分配逻辑及控制闭环的设计细节,同时可通过修改参数和添加扰动来验证系统的鲁棒性与适应性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值