最近要用到Redis,本文章内容是将Redis安装的过程以及踩到的坑做一个记录,为后来者提供参考。大神绕道!
1、 将下载好的安装包上传到服务器;
2、将安装包移动到/opt下,并将其解压缩,如图:
3、进入到redis-5.0.4下,执行make命令:
[root@mini121 redis-5.0.4]# make
cd src && make all
make[1]: Entering directory `/root/redis-5.0.4/src'
CC Makefile.dep
make[1]: Leaving directory `/root/redis-5.0.4/src'
make[1]: Entering directory `/root/redis-5.0.4/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark
(cd ../deps && make distclean)
make[2]: Entering directory `/root/redis-5.0.4/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory `/root/redis-5.0.4/deps'
(rm -f .make-*)
echo STD=-std=c99 -pedantic -DREDIS_STATIC='' >> .make-settings
echo WARN=-Wall -W -Wno-missing-field-initializers >> .make-settings
echo OPT=-O2 >> .make-settings
echo MALLOC=jemalloc >> .make-settings
echo CFLAGS= >> .make-settings
echo LDFLAGS= >> .make-settings
echo REDIS_CFLAGS= >> .make-settings
echo REDIS_LDFLAGS= >> .make-settings
echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settings
echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings
(cd ../deps && make hiredis linenoise lua jemalloc)
make[2]: Entering directory `/root/redis-5.0.4/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
(echo "" > .make-ldflags)
(echo "" > .make-cflags)
MAKE hiredis
cd hiredis && make static
make[3]: Entering directory `/root/redis-5.0.4/deps/hiredis'
gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
make[3]: gcc:命令未找到
make[3]: *** [net.o] 错误 127
make[3]: Leaving directory `/root/redis-5.0.4/deps/hiredis'
make[2]: *** [hiredis] 错误 2
make[2]: Leaving directory `/root/redis-5.0.4/deps'
make[1]: [persist-settings] 错误 2 (忽略)
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] 错误 127
make[1]: Leaving directory `/root/redis-5.0.4/src'
make: *** [all] 错误 2
上述显示缺少gcc环境;
1、下面给出安装过程:
[root@mini121 Packages]# rpm -ivh gcc-4.4.7-16.el6.x86_64.rpm
warning: gcc-4.4.7-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
cloog-ppl >= 0.15 is needed by gcc-4.4.7-16.el6.x86_64
cpp = 4.4.7-16.el6 is needed by gcc-4.4.7-16.el6.x86_64
[root@mini121 Packages]# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
warning: cloog-ppl-0.15.7-1.2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
libppl.so.7()(64bit) is needed by cloog-ppl-0.15.7-1.2.el6.x86_64
libppl_c.so.2()(64bit) is needed by cloog-ppl-0.15.7-1.2.el6.x86_64
[root@mini121 Packages]# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
warning: ppl-0.10.2-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:ppl ########################################### [100%]
[root@mini121 Packages]# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
warning: cloog-ppl-0.15.7-1.2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:cloog-ppl ########################################### [100%]
[root@mini121 Packages]# rpm -ivh cpp-4.4.7-16.el6.x86_64.rpm
warning: cpp-4.4.7-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
libmpfr.so.1()(64bit) is needed by cpp-4.4.7-16.el6.x86_64
[root@mini121 Packages]# rpm -ivh mpfr-
mpfr-2.4.1-6.el6.x86_64.rpm mpfr-devel-2.4.1-6.el6.x86_64.rpm
[root@mini121 Packages]# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
warning: mpfr-2.4.1-6.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:mpfr ########################################### [100%]
[root@mini121 Packages]# rpm -ivh cpp-4.4.7-16.el6.x86_64.rpm
warning: cpp-4.4.7-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:cpp ########################################### [100%]
[root@mini121 Packages]# rpm -ivh gcc-
gcc-4.4.7-16.el6.x86_64.rpm gcc-gfortran-4.4.7-16.el6.x86_64.rpm gcc-java-4.4.7-16.el6.x86_64.rpm gcc-objc++-4.4.7-16.el6.x86_64.rpm
gcc-c++-4.4.7-16.el6.x86_64.rpm gcc-gnat-4.4.7-16.el6.x86_64.rpm gcc-objc-4.4.7-16.el6.x86_64.rpm
[root@mini121 Packages]# rpm -ivh gcc-4.4.7-16.el6.x86_64.rpm
warning: gcc-4.4.7-16.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:gcc ########################################### [100%]
以上根据提示安装缺少的依赖即可!安装顺序:
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh cpp-4.4.7-16.el6.x86_64.rpm
rpm -ivh gcc-4.4.7-16.el6.x86_64.rpm
1、接着再次执行make命令:
[root@mini121 redis-5.0.4]# make
cd src && make all
make[1]: Entering directory `/opt/redis-5.0.4/src'
CC adlist.o
在包含自 adlist.c:34 的文件中:
zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录
zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"
make[1]: *** [adlist.o] 错误 1
make[1]: Leaving directory `/opt/redis-5.0.4/src'
make: *** [all] 错误 2
发现还是没有通过!原因是我们需要先执行make distclean进行一下清理然后再重新执行make命令即可!
2、执行make distclean
[root@mini121 redis-5.0.4]# make distclean
cd src && make distclean
make[1]: Entering directory `/opt/redis-5.0.4/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark
(cd ../deps && make distclean)
make[2]: Entering directory `/opt/redis-5.0.4/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory `/opt/redis-5.0.4/deps'
(rm -f .make-*)
make[1]: Leaving directory `/opt/redis-5.0.4/src'
3、执行make
[root@mini122 redis-5.0.4]# make
cd src && make all
make[1]: Entering directory `/opt/redis-5.0.4/src'
CC Makefile.dep
make[1]: Leaving directory `/opt/redis-5.0.4/src'
make[1]: Entering directory `/opt/redis-5.0.4/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark
(cd ../deps && make distclean)
make[2]: Entering directory `/opt/redis-5.0.4/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory `/opt/redis-5.0.4/deps'
(rm -f .make-*)
echo STD=-std=c99 -pedantic -DREDIS_STATIC='' >> .make-settings
echo WARN=-Wall -W -Wno-missing-field-initializers >> .make-settings
echo OPT=-O2 >> .make-settings
echo MALLOC=jemalloc >> .make-settings
... 安装过程较长,此处省略
4、接下来执行make install命令即可;到此Redis就安装完毕了!
1、安装后 /usr/local/bin 目录下会有对应文件,直接上图:
用redis-server启动即可;
2、查看进程
以上就是Redis的安装过程,过程是艰辛的,成功是喜悦的,祝各位看官安装顺利!