当前位置:首页 > 问答 > 正文

想知道怎么编译redis吗?其实掌握脚本也没那么难,跟着步骤慢慢来就行

网友分享的Redis编译经验帖)

"朋友,你是不是也在网上搜过'怎么编译Redis'这个问题?看到那些密密麻麻的命令行是不是头都大了?别慌,我当初也是从啥都不懂的小白过来的,今天咱们就用人话把这事儿捋清楚,你跟着一步步来,真没想象中那么难。

咱得有个地方来折腾对吧?你得准备一台电脑,装个Linux系统,比如Ubuntu或者CentOS都行,要是你用Windows,建议整个虚拟机或者WSL2(Windows下的Linux子系统),因为Redis在Linux环境下编译最省心。(来源:Redis官方README文档建议的开发环境)

第一步,开门三件事:装工具、下源码、解压缩,打开你的终端(就是那个黑乎乎的窗口),先输入几句咒语一样的命令,把编译需要的'工具'请回来:

sudo apt update sudo apt install build-essential tcl

(如果你用CentOS,把apt换成yum就行),这步是干嘛的呢?build-essential是个工具包,里面装着gcc编译器、make这些搭建软件必需的'扳手和螺丝刀';tcl是Redis测试需要的一个组件。(来源:Redis官方安装指南的依赖项说明)

找个地方放源码,比如在home目录下新建个redis_build文件夹,用wget命令下载源码包(来源:Redis官网下载页建议的稳定版链接):

wget https://download.redis.io/redis-stable.tar.gz

下载完是个压缩包,用tar -xzf redis-stable.tar.gz解压,就会看到一个redis-stable文件夹,cd redis-stable进去,咱们的'施工场地'就准备好了。

重头戏来了:编译,其实就两步魔法:make和make test,直接输入make然后回车,你会看到屏幕开始疯狂滚动代码——别怕,这是编译器在把源代码变成可执行程序,等几分钟滚动停了,看到类似'It's a good idea to run make test'的提示就成功了一半。(来源:Redis源码包中的INSTALL文件)

不过这里有个坑我踩过:如果make失败,八成是依赖没装全,比如报错说找不到cc命令,可能是gcc没装;如果提示zmq.h找不到,得额外装zeromq库,这时候别懵,把报错信息复制下来搜一下,网上全是解决方案。

接下来make test是可选但强烈建议的步骤,这个过程比较长,会跑几百个测试用例来检查编译是否完美,如果看到\o/ All tests passed without errors!这样的狂欢式提示,就可以开香槟了(误),要是测试失败,可能是系统环境问题,一般重新make distclean后再来一遍就能解决。

编译完别急着关终端,还得安装到系统路径:sudo make install,这样以后在任何目录输入redis-server就能启动了,不过默认会装到/usr/local/bin,如果想改位置可以加参数PREFIX=/your/path。

最后验证下成果:输入redis-server --version,如果显示版本号就大功告成!顺便学个实用技巧——默认启动会前台运行(终端会被占用),加个--daemonize yes参数就能让它在后台默默工作。(来源:Redis配置文件注释中的示例)

其实整个过程就像拼乐高:找齐零件(装依赖)→ 看图施工(make)→ 质检(make test)→ 摆上展示架(install),遇到问题最多就是某块积木没找到,补上就行,下次想升级版本,只需要重新下载新源码包,再来一遍这个流程就好。

怎么样,是不是发现编译软件也没那么神秘?最重要的是动手试一次,遇到错误别放弃,我第一次编译时因为漏装依赖失败了三次,但解决后那种成就感,比直接apt install爽多了!"

想知道怎么编译redis吗?其实掌握脚本也没那么难,跟着步骤慢慢来就行