Redis Single를 구축 해보자!

Karim·2021년 12월 16일
6

Redis 운영

목록 보기
2/7
post-thumbnail

1. Version

💬

  • OS : CentOS Linux release 7.9.2009 (Core)
  • Redis : 6.0.7

2. 설치 전 확인상항

💬 Developer Toolset 7 을 설치

$ yum install centos-release-scl devtoolset-7

💬 gcc 도구 체인에 대한 가상 환경을 제공

$ scl enable devtoolset-7 bash

💬 gcc 설치

  • Redis 6.0.x 이상 부터는 gcc 4.9 필요

    $ yum install gcc

💬 jemalloc 설치

  • 레디스 메모리 정리용

    $ yum install jemalloc

3. Redis 설치

💬 tar 파일 다운로드

[karim@localhost redis]# wget http://download.redis.io/releases/redis-6.0.7.tar.gz
--2021-12-16 17:25:11--  http://download.redis.io/releases/redis-6.0.7.tar.gz
Resolving download.redis.io (download.redis.io)... 45.60.125.1
Connecting to download.redis.io (download.redis.io)|45.60.125.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2240490 (2.1M) [application/octet-stream]
Saving to: ‘redis-6.0.7.tar.gz’

100%[=========================>] 2,240,490   1.08MB/s   in 2.0s

2021-12-16 17:25:14 (1.08 MB/s) - ‘redis-6.0.7.tar.gz’ saved [2240490/2240490]
  • 압축을 푼다.

    $ tar -zxvf redis-6.0.7.tar.gz

[karim@localhost redis]$ tar -zxvf redis-6.0.7.tar.gz
redis-6.0.7/
...
redis-6.0.7/utils/tracking_collisions.c
redis-6.0.7/utils/whatisdoing.sh

💬 dependency 설치

  • /deps dir에 필요한 dependency를 설치

    $ cd deps/
    $ make hiredis jemalloc linenoise lua

[root@localhost deps]# make hiredis  jemalloc  linenoise  lua
MAKE hiredis
cd hiredis && make static
make[1]: Entering directory `/home/karim/redis/redis-
...
ATIC=''    -c -o print.o print.c
cc -o luac  luac.o print.o liblua.a -lm
make[1]: Leaving directory `/home/karim/redis/redis-6.0.7/deps/lua/src'

💬 Redis 설치

  • Redis 컴파일

    $ make

[root@localhost redis-6.0.7]# make
cd src && make all
make[1]: 디렉터리 '/home/karim/redis/redis-6.0.7/src' 들어감
    CC Makefile.dep
rm -rf redis-server redis-sentinel redis-cli redis-benchmark rb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-htmp dict-benchmark
rm -f adlist.d quicklist.d ae.d anet.d dict.d server.d sds.d zc.d lzf_d.d 
...
    CC redis-cli.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: 디렉터리 '/home/karim/redis/redis-6.0.7/src' 나감

4. 관리하기 편하게 구성

💬 bin dir 생성

  • redis를 관리하기 편하게 중요 파일들을 넣어두기 위해 생성

    $ mkdir bin

💬 bin dir 안에 dir 추가

  • redis port 별로 관리 하기 위해 생성

    $ mkdir conf

  • 재 기동 할 때 데이터를 읽이 위한 aof 파일을 관리하기 위해 생성

    $ mkdir data

  • log를 관리하기 위해 생성

    $ mkdir logs

  • pid를 관리하기 위해 생성

    $ mkdir pid

💬 중요 파일 복사

  • 실행

    $ cd src
    $ cp redis-server ../bin/

  • cli

    $ cd src
    $ cp redis-cli ../bin

  • .conf

    $ cd redis-6.0.7
    $ cp redis.conf bin/conf

5. Redis 실행

💬 옵션 잡고 실행

  • 백그라운드로 실행시키기 위해 nohup 명령어를 이용했다.
  • 편하게 사용할려면 start.sh 파일을 작성해서 올리면 좋겠다.!!

$ nohup ./redis-server ./conf/redis_1111.conf --bind 0.0.0.0 --port 1111 --pidfile ./pid/redis_1111.pid --dir ./data --logfile ./logs/redis_1111.log --loglevel notice --appendfilename append_1111.aof --maxmemory "0" &

💬 conf 파일 잡고 실행

$ ./redis-server ./conf/redis_1111.conf

6. Redis 실행 확인

💬 log 파일 확인

  • 이런 log가 쌓인다면 성공!!!

💬 data 파일 확인

  • rdb or aof 파일 <- conf 설정으로 바꿀 수 있음
  • 아무 설정 안했다면 rdb

💬 pid 파일 확인

  • redis processId

📌 여담

  • redis conf 파일 설정과 cli 명령어는 다음에 작성해야겠당~

📚 참고

profile
나도 보기 위해 정리해 놓은 벨로그

0개의 댓글