获取源码
-
从github上下载redis源码:https://github.com/redis/redis
切换到 6.0 分支,编译不通过。 -
于是从 https://redis.io 下载源码: https://download.redis.io/releases/redis-6.2.6.tar.gz
该版本的源码编译正常。
编译安装
-
解压后,进入 redis-6.2.6 目录。执行如下命令,查看编译步骤会如何执行
[21:12:28 dongling@noah redis-6.2.6]106$ make -n cd src && /Library/Developer/CommandLinetools/usr/bin/make all /bin/sh: pkg-config: command not found echo "" echo "Hint: It's a good idea to run 'make test' ;)" echo ""
可以看到,命令行会进入
src
目录执行编译命令。在src
目录下,果然找到一个Makefile
。打开src/Makefile
,可以看到结尾的install
命令如下:install: all @mkdir -p $(INSTALL_BIN) $(call MAKE_INSTALL,$(REdis_SERVER_NAME),$(INSTALL_BIN)) $(call MAKE_INSTALL,$(REdis_BENCHMARK_NAME),$(INSTALL_BIN)) $(call MAKE_INSTALL,$(REdis_CLI_NAME),$(INSTALL_BIN)) @ln -sf $(REdis_SERVER_NAME) $(INSTALL_BIN)/$(REdis_CHECK_RDB_NAME) @ln -sf $(REdis_SERVER_NAME) $(INSTALL_BIN)/$(REdis_CHECK_AOF_NAME) @ln -sf $(REdis_SERVER_NAME) $(INSTALL_BIN)/$(REdis_SENTINEL_NAME) uninstall: rm -f $(INSTALL_BIN)/{$(REdis_SERVER_NAME),$(REdis_BENCHMARK_NAME),$(REdis_CLI_NAME),$(REdis_CHECK_RDB_NAME),$(REdis_CHECK_AOF_NAME),$(REdis_SENTINEL_NAME)}
可以知道
make install
命令会把文件安装到$(INSTALL_BIN)
这个目录下。其定义如下:PREFIX?=/usr/local INSTALL_BIN=$(PREFIX)/bin INSTALL=install PKG_CONfig?=pkg-config
将
src/Makefile
中的INSTALL_BIN
修改为INSTALL_BIN=$(PREFIX)/redis
,这样就可以将redis安装到我们想要的目录下了。此时创建/usr/local/redis-6.2.6
目录,然后创建软连接/usr/local/redis
到该目录:sudo mkdir -p /usr/loca/redis-6.2.6 sudo ln -sf /usr/loca/redis-6.2.6 /usr/loca/redis sudo chown -R dongling:staff /usr/loca/redis-6.2.6 sudo chown -R dongling:staff /usr/loca/redis
-
编译并安装
回到redis-6.2.6
源码目录,执行如下命令:make # 编译 make install # 安装
并将
redis-6.2.6/redis.conf
文件 copy 到/usr/local/redis-6.2.6/conf
目录
配置环境变量
-
REdis_HOME=/usr/local/redis export PATH=$PATH:$REdis_HOME alias startredis='nohup redis-server ${REdis_HOME}/conf/redis.conf 2>&1 >> ${REdis_HOME}/redis.log &' alias redis='redis-cli'
环境变量生效后,直接在命令行执行
startredis
即可启动redis;
在命令行执行redis
即可使用客户端连接redis-server
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。