centos下redis安装
2016-07-24 18:09
537 查看
Redis 3.2.1安装
下载安装包
到http://redis.io/下载所需版本的安装包
将安装包拷贝到linux某目录下,解压:
进入redis解压目录,执行命令:
执行make可能会报错,缺少某些包,假如出现如下错误:
代表没有安装make所需要的gcc,使用命令:
在yum源下载并安装。
然后进行make,若出现如下错误:
使用如下命令解决:
make[1]: Entering directory
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd geohash-int && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd geohash-int && 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
MAKE linenoise
cd linenoise && make
make[3]: Entering directory
MAKE lua
cd lua/src && make all CFLAGS=”-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=” ” MYLDFLAGS=”” AR=”ar rcu”
make[3]: Entering directory
loslib.c:(.text+0x35): warning: the use of
cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=” -c -o luac.o luac.c
cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=” -c -o print.o print.c
cc -o luac luac.o print.o liblua.a -lm
make[3]: Leaving directory
cc -Wall -O2 -g -c geohash.c
cc -Wall -O2 -g -c geohash_helper.c
make[3]: Leaving directory
CC adlist.o
CC quicklist.o
CC ae.o
In file included from ae.c:53:
ae_epoll.c: 在函数‘aeApiAddEvent’中:
ae_epoll.c:75: 警告:缺少初始值设定
ae_epoll.c:75: 警告:(在‘ee.data’的初始化附近)
ae_epoll.c: 在函数‘aeApiDelEvent’中:
ae_epoll.c:92: 警告:缺少初始值设定
ae_epoll.c:92: 警告:(在‘ee.data’的初始化附近)
CC anet.o
anet.c: 在函数‘anetSockName’中:
anet.c:640: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:638: 附注:initialized from here
anet.c:644: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:642: 附注:initialized from here
anet.c: 在函数‘anetPeerToString’中:
anet.c:584: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:582: 附注:initialized from here
anet.c:588: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:586: 附注:initialized from here
anet.c: 在函数‘anetTcpAccept’中:
anet.c:555: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:553: 附注:initialized from here
anet.c:559: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:557: 附注:initialized from here
CC dict.o
CC server.o
CC sds.o
CC zmalloc.o
CC lzf_c.o
CC lzf_d.o
CC pqsort.o
CC zipmap.o
CC sha1.o
CC ziplist.o
CC release.o
CC networking.o
CC util.o
CC object.o
CC db.o
CC replication.o
CC rdb.o
CC t_string.o
CC t_list.o
CC t_set.o
CC t_zset.o
CC t_hash.o
CC config.o
CC aof.o
CC pubsub.o
CC multi.o
CC debug.o
CC sort.o
CC intset.o
CC syncio.o
CC cluster.o
CC crc16.o
CC endianconv.o
CC slowlog.o
CC scripting.o
CC bio.o
CC rio.o
CC rand.o
CC memtest.o
CC crc64.o
CC bitops.o
CC sentinel.o
CC notify.o
CC setproctitle.o
CC blocked.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
CC redis-check-rdb.o
CC geo.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
CC redis-check-aof.o
LINK redis-check-aof
Hint: It’s a good idea to run ‘make test’ ;)
执行结果:
至此,redis安装结束,可以将redis可执行目录添加到环境变量中方便使用,不做描述。
下载安装包
到http://redis.io/下载所需版本的安装包
将安装包拷贝到linux某目录下,解压:
tar -zxvf redis-3.2.1.tar.gz
进入redis解压目录,执行命令:
make
执行make可能会报错,缺少某些包,假如出现如下错误:
make[1]: Entering directory `/home/redis-3.2.1/src' CC adlist.o /bin/sh: cc: command not found make[1]: *** [adlist.o] 错误 127 make[1]: Leaving directory `/home/redis-3.2.1/src' make: *** [all] 错误 2
代表没有安装make所需要的gcc,使用命令:
yum install gcc
在yum源下载并安装。
然后进行make,若出现如下错误:
make[1]: Entering directory `/home/redis-3.2.1/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 `/home/redis-3.2.1/src' make: *** [all] 错误 2
使用如下命令解决:
make MALLOC=libc
执行结果如下:
cd src && make allmake[1]: Entering directory
/home/redis-3.2.1/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 (cd ../deps && make distclean) make[2]: Entering directory/home/redis-3.2.1/deps’
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd geohash-int && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory
/home/redis-3.2.1/deps' (rm -f .make-*) echo STD=-std=c99 -pedantic -DREDIS_STATIC= >> .make-settings echo WARN=-Wall -W >> .make-settings echo OPT=-O2 >> .make-settings echo MALLOC=libc >> .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 -O2 -g -ggdb -I../deps/geohash-int -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src >> .make-settings echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings (cd ../deps && make hiredis linenoise lua geohash-int) make[2]: Entering directory/home/redis-3.2.1/deps’
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd geohash-int && 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
/home/redis-3.2.1/deps/hiredis' cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb hiredis.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb sds.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb async.c ar rcs libhiredis.a net.o hiredis.o sds.o async.o make[3]: Leaving directory/home/redis-3.2.1/deps/hiredis’
MAKE linenoise
cd linenoise && make
make[3]: Entering directory
/home/redis-3.2.1/deps/linenoise' cc -Wall -Os -g -c linenoise.c make[3]: Leaving directory/home/redis-3.2.1/deps/linenoise’
MAKE lua
cd lua/src && make all CFLAGS=”-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=” ” MYLDFLAGS=”” AR=”ar rcu”
make[3]: Entering directory
/home/redis-3.2.1/deps/lua/src' cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lapi.o lapi.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lcode.o lcode.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldebug.o ldebug.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldo.o ldo.c ldo.c: 在函数‘f_parser’中: ldo.c:496: 警告:未使用的变量‘c’ cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldump.o ldump.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lfunc.o lfunc.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lgc.o lgc.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o llex.o llex.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lmem.o lmem.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lobject.o lobject.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lopcodes.o lopcodes.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lparser.o lparser.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstate.o lstate.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstring.o lstring.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltable.o ltable.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltm.o ltm.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lundump.o lundump.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lvm.o lvm.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lzio.o lzio.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o strbuf.o strbuf.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o fpconv.o fpconv.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lauxlib.o lauxlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lbaselib.o lbaselib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldblib.o ldblib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o liolib.o liolib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lmathlib.o lmathlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o loslib.o loslib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltablib.o ltablib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstrlib.o lstrlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o loadlib.o loadlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o linit.o linit.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_cjson.o lua_cjson.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_struct.o lua_struct.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_cmsgpack.o lua_cmsgpack.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_bit.o lua_bit.c ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all object files ranlib liblua.a cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua.o lua.c cc -o lua lua.o liblua.a -lm liblua.a(loslib.o): In functionos_tmpname’:
loslib.c:(.text+0x35): warning: the use of
tmpnam' is dangerous, better usemkstemp’
cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=” -c -o luac.o luac.c
cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC=” -c -o print.o print.c
cc -o luac luac.o print.o liblua.a -lm
make[3]: Leaving directory
/home/redis-3.2.1/deps/lua/src' MAKE geohash-int cd geohash-int && make make[3]: Entering directory/home/redis-3.2.1/deps/geohash-int’
cc -Wall -O2 -g -c geohash.c
cc -Wall -O2 -g -c geohash_helper.c
make[3]: Leaving directory
/home/redis-3.2.1/deps/geohash-int' make[2]: Leaving directory/home/redis-3.2.1/deps’
CC adlist.o
CC quicklist.o
CC ae.o
In file included from ae.c:53:
ae_epoll.c: 在函数‘aeApiAddEvent’中:
ae_epoll.c:75: 警告:缺少初始值设定
ae_epoll.c:75: 警告:(在‘ee.data’的初始化附近)
ae_epoll.c: 在函数‘aeApiDelEvent’中:
ae_epoll.c:92: 警告:缺少初始值设定
ae_epoll.c:92: 警告:(在‘ee.data’的初始化附近)
CC anet.o
anet.c: 在函数‘anetSockName’中:
anet.c:640: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:638: 附注:initialized from here
anet.c:644: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:642: 附注:initialized from here
anet.c: 在函数‘anetPeerToString’中:
anet.c:584: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:582: 附注:initialized from here
anet.c:588: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:586: 附注:initialized from here
anet.c: 在函数‘anetTcpAccept’中:
anet.c:555: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:553: 附注:initialized from here
anet.c:559: 警告:dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:557: 附注:initialized from here
CC dict.o
CC server.o
CC sds.o
CC zmalloc.o
CC lzf_c.o
CC lzf_d.o
CC pqsort.o
CC zipmap.o
CC sha1.o
CC ziplist.o
CC release.o
CC networking.o
CC util.o
CC object.o
CC db.o
CC replication.o
CC rdb.o
CC t_string.o
CC t_list.o
CC t_set.o
CC t_zset.o
CC t_hash.o
CC config.o
CC aof.o
CC pubsub.o
CC multi.o
CC debug.o
CC sort.o
CC intset.o
CC syncio.o
CC cluster.o
CC crc16.o
CC endianconv.o
CC slowlog.o
CC scripting.o
CC bio.o
CC rio.o
CC rand.o
CC memtest.o
CC crc64.o
CC bitops.o
CC sentinel.o
CC notify.o
CC setproctitle.o
CC blocked.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
CC redis-check-rdb.o
CC geo.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
CC redis-check-aof.o
LINK redis-check-aof
Hint: It’s a good idea to run ‘make test’ ;)
make[1]: Leaving directory `/home/redis-3.2.1/src’
make执行完成,进行install,默认的安装路径为/usr/local/bin下,我们把目录稍作改动,安装到/usr/local/redis下,使用PREFIX指定目录:mkdir /usr/local/redis make PREFIX=/usr/local/redis install
执行结果:
cd src && make install make[1]: Entering directory `/home/redis-3.2.1/src' Hint: It's a good idea to run 'make test' ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install make[1]: Leaving directory `/home/redis-3.2.1/src'
至此,redis安装结束,可以将redis可执行目录添加到环境变量中方便使用,不做描述。
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Centos6 编译安装Python
- Ubuntu Linux使用体验
- redis安装问题小结
- c语言实现hashmap(转载)
- Linux 信号signal处理机制