CentOS6下编译、安装Redis源码

前端之家收集整理的这篇文章主要介绍了CentOS6下编译、安装Redis源码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概要信息

本文主要介绍在CentOS6.x下编译Redis的源码,并使用后台进程启动一个Redis实例

下载、解压并编译Redis的源代码

下载Redis源代码

打开Redis的官网,进入Download模块:https://redis.io/download
我们会看到:

上文说到,我们可以通过:

http://download.redis.io/redis-stable.tar.gz

获取最新的稳定版本的Redis源码,那么我们就使用这个最新的稳定版本

在下载之前,我们需要选定一个目录要作为我们接下来的工作目录,在我的电脑上,我的工作路径是 /opt/redis,当然你可以自己创建和选择喜欢的路径。

使用wget 命令下载:

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

解压Redis源代码

[root@arvin1 redis]# tar -zxvf redis-stable.tar.gz
[root@arvin1 redis]# ls
redis-stable redis-stable.tar.gz
[root@arvin1 redis]# cd redis-stable
[root@arvin1 redis-stable]# ls
00-RELEASENOTES BUGS CONTRIBUTING COPYING deps INSTALL Makefile MANIFESTO README.md redis.conf runtest runtest-cluster runtest-sentinel sentinel.conf src tests utils

编译Redis源码

使用 make 命令实现redis源码的编译:

[root@arvin1 redis-stable]# make

从结果上看,发现没有gcc和cc命令,怎么办?当然是先安装这两个命令:

[root@arvin1 redis-stable]# yum install -y gcc-c++

安装完成后,继续执行 make 命令,可能会得到下面的结果:

这回说的是 jemalloc的版本不对,有两种可能性,有可能是上一次make命令导致有些残留的文件删除,我们使用make distclean 清理一下上次的make残留文件

[root@arvin1 redis-stable]# make distclean

再次执行 make 命令,如果还是出现下面的提示

我们再使用另一个参数来make:

[root@arvin1 redis-stable]# make MALLOC=libc

一般情况下,应该没问题了,接着就等值编译完成了,编译完成最后会提示

最后编译完成了,提示用make test检测下哦,既然这么推荐,那就运行一下make test吧

[root@arvin1 redis-stable]# make test

运行后的结果如下,发现又有问题:

说是缺少 tcl 这个软件包,好吧在使用yum安装一下:

[root@arvin1 redis-stable]# yum install -y tcl

安装完成后继续使用 make test, 这个过程比较长,最后如果成功的话,会出现:

到此,Redis就算是编译完成了,我来看看编译后的文件,编译后的文件都放在了 /opt/redis/redis-stable/src 目录下,主要有redis-cli,redis-server,redis-sentinel 这三个是比较常用的命令。

启动单节点Redis实例

将命令拷贝到PATH路径下

目的在于能够在任意目录下使用redis的相关命令,我们先来看看系统当前的PATH是什么:

[root@arvin1 src]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@arvin1 src]#

我们可以放在任意一个目录下,一般放在 /usr/local/bin 目录下

[root@arvin1 src]# cp redis-cli /usr/local/bin
[root@arvin1 src]# cp redis-server /usr/local/bin
[root@arvin1 src]# cp redis-sentinel /usr/local/bin
[root@arvin1 src]# ll /usr/local/bin | grep redis
-rwxr-xr-x. 1 root root 403989 Apr 20 00:23 redis-cli
-rwxr-xr-x. 1 root root 2522088 Apr 20 00:23 redis-sentinel
-rwxr-xr-x. 1 root root 2522088 Apr 20 00:23 redis-server

上面已经将命令拷贝到系统的PATH路径下了,因此任意目录下可以使用上面三个命令。

配置单节点redis.conf

在前面我们已经准备好了环境,现在我们就来启动一个Redis实例吧。我们之前的编译路径是:/opt/redis/redis-stable,打开该目录,我们发现该目录中有一个redis.conf文件。为了便于做实验,我们在另一个目录中进行:

[root@arvin1 redis]# mkdir single

将样板文件 redis.conf 复制一个到 /opt/redis/single 目录下:

[root@arvin1 single]# cp /opt/redis/redis-stable/redis.conf /opt/redis/single/

编辑这个文件,设置以下几个配置项:

将bind 127.0.0.1 这个配置项注释掉(不用管也可以,本机测试)
设置监听端口: port 6379
设置后台进程运行: daemonize yes
可以指定日志输出文件,如果不指定的话默认是/dev/null,比如设置为:logfile “/opt/redis/single/log.log”

配置好之后,保存文件退出

启动Redis实例

在上一小节中,我们已经配置好了 /opt/redis/single/redis.conf 接下来只需要指定这个配置文件启动Redis实例就可以了,使用如下命令进行启动:

[root@arvin1 single]# redis-server /opt/redis/single/redis.conf

启动完成后,可检查下Redis的运行情况,可以打开日志“/opt/redis/single/log.log”,如果要查看进程信息的话,使用以下命令:

[root@arvin1 single]# ps -ef | grep redis
root 4130 1 0 00:35 ? 00:00:00 redis-server *:6379
root 4137 4110 0 00:36 pts/1 00:00:00 grep redis

[root@arvin1 single]# netstat -an | grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN
tcp 0 0 :::6379 :::* LISTEN

使用redis-cli客户端

启动了Redis实例后,我们可以使用redis-cli自带的客户端来进行一些验证:

[root@arvin1 single]# redis-cli -p 6379
127.0.0.1:6379> info cpu
# cpu
used_cpu_sys:0.17
used_cpu_user:0.09
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

关闭Redis实例

关闭有几种方式,第一种是直接将该实力的PID执行kill操作;第二种是直接使用redis-cli,进入后使用shutdown命令进行关闭,第三种,还是使用redis-cli进行关闭,直接使用命令:

[root@arvin1 single]# redis-cli -p 6379 shutdown

用户请求了shutdown,Redis将数据存到磁盘,并删除了pid文件,redis准备好了退出

猜你在找的CentOS相关文章