CentOS 7에 redis 3.0.5 설치하기

설치하기

레디스 공식 홈


CentOS minimal로 설치 직후라면, 네트워크 카드부터 활성화 시켜야 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 각자 원하는 폴더로 이동해 다운받아 설치한다.
$ cd /usr/share
$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz
$ tar zxvf redis-3.0.5.tar.gz
# 설치 폴더의 이름을 변경
# 개인 취향이니 변경하지 않아도 된다.
$ mv redis-3.0.5 redis
$ cd redis
$ yum -y install gcc
##### OS 버전에 맞게 jemalloc를 설치.###
# 6.5
$ yum -y install jemalloc
  
# 7.0
$ yum -y install epel-release
$ yum -y install varnish
#######################################
$ yum -y install tcl
$ make

컴파일 오류 발생할 경우 누락된 패키지를 설치후 리빌드 시키면 됨

서버 자동 시작

vi /usr/share/redis/redis.conf 파일을 열어서 데몬으로 실행할 수 있도록 설정

1
daemonize yes

vi /etc/init.d/redis-server 파일을 생성하여 아래코드 복사

경로설정은 환경에 맞게 수정해야 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#! /bin/sh
### BEGIN INIT INFO
# Provides:     redis-server
# Description:      redis-server - Persistent key-value db
# chkconfig:   - 85 15
### END INIT INFO
 
REDISPORT=6379
EXEC=/usr/share/redis/src/redis-server
CLIEXEC="/usr/share/redis/src/redis-cli"
 
# exists password
if [ $2 ]
    then
    CLIEXEC="$CLIEXEC -a $2"
fi
 
 
PIDFILE=/var/run/redis.pid
CONF="/usr/share/redis/redis.conf"
 
start()
{
    if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
}
 
stop()
{
    if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
}
 
case "$1" in
    start)
        start
    ;;
    stop)
    stop       
    ;;
 restart)
    stop
        start
    ;;
    info)
        if [ ! -f $PIDFILE ]
    then
        echo "$PIDFILE does not exist, process is not running"
    else
        $CLIEXEC info
    fi
    ;;
    *)
        echo "Usage: start|stop|restart [password]"
        ;;
esac

# 서비스 등록

1
2
3
4
$ chmod +x /etc/init.d/redis-server
$ chkconfig --add redis-server
$ chkconfig --level 2345 redis-server on
$ service redis-server start [password]

테스트 해보기

1
2
3
4
5
$ /usr/share/redis/src/redis-cli [-h my redis-server ip] [-p my redis-server port] [-a my redis-server password]
redis> set foo bar
OK
redis> get foo
"bar"