CentOS 7에 redis 3.0.5 설치하기

설치하기

레디스 공식 홈


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

# 각자 원하는 폴더로 이동해 다운받아 설치한다. $ 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 파일을 열어서 데몬으로 실행할 수 있도록 설정

daemonize yes

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

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

#! /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

# 서비스 등록

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

테스트 해보기

$ /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"