操作系统:CentOS 7.x
Redis版本:Redis5.x
下载地址:http://download.redis.io/releases/redis-5.0.5.tar.gz
[root@z8524210 /]# mkdir soft //建立一个soft目录,用来安装Redis
[root@z8524210 /]# cd soft/ //进入到目录并且下载Redis,这里我已经下载好了
[root@z8524210 soft]# tar xf redis-5.0.4.tar.gz //解压
解压后进入目录
接下来可以执行make命令进行编译,值得说明的是make是编译命令 是linux操作系统自带的,但是make并不知道怎么编译不同的源码包,必须要找到一个文件 makefile。之前nginx没有makefile所以要先执行config,config执行完之后会生成makefile文件。
查看一下makefile:
[root@z8524210 redis-5.0.4]# cat Makefile
# Top level makefile, the real shit is at src/Makefile
default: all
# make命令后面什么都不带,默认是去src里去执行make命令 ,$@表示参数
.DEFAULT:
cd src && $(MAKE) $@
# 把这里install改成ooxx,就可以在外面执行 make ooxx,同样也会去src里去执行make命令 ,$@表示参数
install:
cd src && $(MAKE) $@
.PHONY: install
然后进入src目录
会发现src目录里面也有一个makefile文件,里面存放着所有的编译细节。
回到上级目录执行make命令编译
[root@z8524210 redis-5.0.4]# make
这个时候报错了:
报错没有找到gcc命令,说明需要安装c语言编译器
安装C语言编译器
[root@z8524210 redis-5.0.4]# yum install gcc
再次执行make命令
[root@z8524210 redis-5.0.4]# make //这里还会报错,原因是之前安装失败,没有清理
[root@z8524210 redis-5.0.4]# make distclean //进行清理
[root@z8524210 redis-5.0.4]# make //再次执行make
执行完毕之后再次进入src目录
发现多了可执行文件,执行./redis-server
[root@z8524210 src]# ./redis-server
Redis就运转起来了
但是我们不想以这种方式启动,我们想把Redis用 service redis_6379 start 这种方式启动,把Redis变成一个服务,怎么搞?
在readme文件中,有提示,进入到utils文件夹里执行install_server.sh
脚本,在此之前需要把可执行程序迁移出来到指定目录/opt/zxj/redis5,执行命令:
[root@z8524210 src]# cd ../ //返回上级目录
[root@z8524210 redis-5.0.4]# make install PREFIX=/opt/zxj/redis5 //迁移出执行文件到指定目录
执行完后cd到/opt/zxj/redis5/bin
[root@z8524210 bin]# ll
总用量 32700
-rwxr-xr-x. 1 root root 4366552 5月 31 21:22 redis-benchmark
-rwxr-xr-x. 1 root root 8101240 5月 31 21:22 redis-check-aof
-rwxr-xr-x. 1 root root 8101240 5月 31 21:22 redis-check-rdb
-rwxr-xr-x. 1 root root 4806768 5月 31 21:22 redis-cli
lrwxrwxrwx. 1 root root 12 5月 31 21:22 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 8101240 5月 31 21:22 redis-server
[root@z8524210 bin]# pwd
/opt/zxj/redis5/bin
能看到这个目录下有很多执行文件。
如果想让Redis在任何地让都能执行,需要把他的home以及bin目录追加到path的环境变量里,如下:
先执行命令
[root@z8524210 bin]# vi /etc/profile //配置环境变量
在末尾处添加
export REDIS_HOME=/opt/zxj/redis5
export PATH=$PATH:$REDIS_HOME/bin
修改完并不能直接生效
需要从新加载一下,执行命令:
[root@z8524210 bin]# source /etc/profile //重新加载配置文件
然后再去Redis源码目录的utils目录下执行install_server.sh
脚本
[root@z8524210 bin]# cd /soft/redis-5.0.4/utils/ //进入到/soft/redis-5.0.4/utils/ 目录
[root@z8524210 utils]# ./install_server.sh //执行这个脚本,生成服务
[root@z8524210 ~]# ps -fe | grep redis
root 1194 1 0 23:37 ? 00:00:00 /opt/zxj/redis5/bin/redis-server 127.0.0.1:6379
root 1908 1857 0 23:38 pts/0 00:00:00 grep --color=auto redis
进入/etc/init.d/目录可以看到
目录下已经存在这个脚本。
然后我们执行server命令已经能看到效果。
[root@z8524210 utils]# service redis_6379 stop
Stopping ...
Redis stopped
[root@z8524210 utils]# service redis_6379 start
Starting Redis server...
[root@z8524210 utils]# service redis_6379 status
Redis is running (9300)
并且可以构建第二个实例只需要在执行install_server.sh
脚本的时候更改端口号即可。
[root@z8524210 /]# mkdir soft //建立一个soft目录,用来安装Redis
[root@z8524210 /]# cd soft/ //进入到目录并且下载Redis,这里我已经下载好了
[root@z8524210 soft]# tar xf redis-5.0.4.tar.gz //解压
[root@z8524210 redis-5.0.4]# yum install gcc //安装C语言编译器
[root@z8524210 redis-5.0.4]# make //执行make
[root@z8524210 redis-5.0.4]# make install PREFIX=/opt/zxj/redis5 //迁移出执行文件到指定目录
[root@z8524210 bin]# vi /etc/profile //配置环境变量
[root@z8524210 bin]# source /etc/profile //重新加载配置文件
[root@z8524210 bin]# cd /soft/redis-5.0.4/utils/ //进入到/soft/redis-5.0.4/utils/ 目录
[root@z8524210 utils]# ./install_server.sh //执行这个脚本,生成服务
[root@z8524210 init.d]# ps -fd | grep redis //查看启动的redis进程
[root@z8524210 utils]# service redis_6379 stop //停止服务
[root@z8524210 utils]# service redis_6379 start //开启服务
[root@z8524210 utils]# service redis_6379 status //查看服务状态