- 到官網(wǎng)下載安裝包
https://redis.io/download - 將安裝包放置到/usr/local/src下
[root@localhost src]# ls
jdk-8u144-linux-x64.tar.gz redis-5.0.3.tar.gz
- 解壓縮
[root@localhost src]# tar zxvf redis-5.0.3.tar.gz
- 編譯
[root@localhost src]# cd redis-5.0.3
[root@localhost redis-5.0.3]# make
- 報錯1,需要安裝gcc
make[3]: Entering directory `/usr/local/src/redis-5.0.3/deps/hiredis'
gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
make[3]: gcc: Command not found
make[3]: *** [net.o] Error 127
make[3]: Leaving directory `/usr/local/src/redis-5.0.3/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/usr/local/src/redis-5.0.3/deps'
make[1]: [persist-settings] Error 2 (ignored)
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/usr/local/src/redis-5.0.3/src'
make: *** [all] Error 2
解決方案
[root@localhost redis-5.0.3]# yum install gcc
報錯2
make[1]: Entering directory `/usr/local/src/redis-5.0.3/src'
CC Makefile.dep
make[1]: Leaving directory `/usr/local/src/redis-5.0.3/src'
make[1]: Entering directory `/usr/local/src/redis-5.0.3/src'
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
#include <jemalloc/jemalloc.h>
^
compilation terminated.
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/usr/local/src/redis-5.0.3/src'
make: *** [all] Error 2
解決方案
原因是jemalloc重載了Linux下的ANSI C的malloc和free函數(shù)。解決辦法:make時添加參數(shù)。
[root@localhost redis-5.0.3]# make MALLOC=libc
- 安裝
[root@localhost redis-5.0.3]# make install PREFIX=/usr/local/redis
cd src && make install
make[1]: Entering directory `/usr/local/src/redis-5.0.3/src'
CC Makefile.dep
make[1]: Leaving directory `/usr/local/src/redis-5.0.3/src'
make[1]: Entering directory `/usr/local/src/redis-5.0.3/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 `/usr/local/src/redis-5.0.3/src'
- 編輯配置文件
# 綁定地址去除回環(huán)地址,添加物理地址
#bind 127.0.0.1
bind 172.16.1.20
# 指定以守護進程方式啟動
daemonize yes
# 指定日志文件夾
logfile "/usr/local/redis/logs/redis.log"
# 指定數(shù)據(jù)文件夾
dir /usr/local/redis/datas
- 創(chuàng)建logs文件夾和datas文件夾
[root@localhost redis]# mkdir /usr/local/redis/logs
[root@localhost redis]# mkdir /usr/local/redis/datas
- 啟動服務(wù)
[root@localhost bin]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
[root@localhost bin]# ps -ef | grep 6379
root 5728 1 0 08:52 ? 00:00:00 /usr/local/redis/bin/redis-server 172.16.1.20:6379
root 5733 2642 0 08:52 pts/0 00:00:00 grep --color=auto 6379
- 登陸
[root@localhost ~]# /usr/local/redis/bin/redis-cli -h 172.16.1.20 -p 6379
- 操作
172.16.1.20:6379> set name aa
OK
172.16.1.20:6379> get name
"aa"
172.16.1.20:6379> set name ff
OK
172.16.1.20:6379> get name
"ff"
- 關(guān)閉redis服務(wù)
[root@localhost ~]# ps aux | grep redis
root 5728 0.1 0.1 144084 2192 ? Ssl 08:52 0:00 /usr/local/redis/bin/redis-server 172.16.1.20:6379
root 5737 0.0 0.0 112680 736 pts/0 R+ 08:59 0:00 grep --color=auto redis
[root@localhost ~]# /usr/local/redis/bin/redis-cli -h 172.16.1.20 shutdown
[root@localhost ~]# ps aux | grep redis
root 5740 0.0 0.0 112680 732 pts/0 R+ 09:00 0:00 grep --color=auto redis