微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

macbook 源码安装 redis

获取源码

编译安装

  • 解压后,进入 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目录添加PATH环境变量中

    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] 举报,一经查实,本站将立刻删除。

相关推荐