IT/Redis

Redis standalone 모드 설정

잼니크 2022. 6. 12. 14:24
반응형

안녕하세요 잼니크입니다. 

이 글에서는 이전 글 Redis 의 운영 방식에서 알아본 방식 별로 설정파일을 작성하려 합니다. 

Redis 운영방식은 크게 Standalone, Sentinel, Cluster 이렇게 3가지 방식이 있습니다. 각 방식에 대한 내용은 아래 링크에서 읽어보실 수 있습니다.

 

Redis 의 운영 방식

안녕하세요 잼니크입니다. 이번 글에서는 Redis의 운영 방식에 대한 이야기를 하려 합니다. 지난 글 Redis 개발 환경 만들기: 설치에서 Redis 설치한 다음 동작하는지 확인했습니다. 이전 글이 궁금

gam1532.tistory.com

이 글은 Redis 7.0.0을 기준으로 standalone 모드 설정을 위해 작성 했지만 버전에 크게 구애받지 않을 기본적인 세팅만 다루고 있어서 다른 버전에서도 사용이 가능합니다. 

이 글을 따라하시려면 먼저 Redis  설지를 진행해야 합니다. 

설치 방법은 이전에 작성한 Redis 개발 환경 만들기: 설치글을 보면 따라하실 수 있습니다.

 

Redis 개발 환경 만들기: 설치

안녕하세요! 잼니크입니다! 이글은 윈도우에서 Redis를 WSL(Windows Subsystem for Linux) 환경에서 소스를 직접 컴파일해서 설치하는 방법을 소개하려 합니다. 사실 WSL이라고 해도 그냥 리눅스랑 동일합

gam1532.tistory.com

 


Standalone(독립형) 모드 설정

사실 독립형은 설정파일 편집 없이 서버를 그냥 실항하면 기본설정인 독립형 세팅으로 실행 됩니다. 하지만 이 뒤에 나올 설정을 위해서는 가장 기본적인 설정을 알아야 바꿀 수 있기 때문에 독립형 세팅에서는 기본적인 세팅 설정만 설정하고 redis-cli로 redis 접속 하는 것까지 이 글에서 다루겠습니다.

우선은 설정파일 편집 없이 바로 실행해 보겠습니다.

# 쉘에서 파라미터 없이 redis 서버 실행 
redis-server

기본 설정으로 시작! Ready to accept connections 라는 메시지가 나오면 일단은 OK!

여기서 많은 내용이 있는데 나중에 둘러보고 위 그림의 맨 마지막 줄 처럼 연결 준비가 되었다는 메시지가 있으면 일단은 접속할 준비가 된 것입니다. 중간에 Redis 그림옆을 보면 Redis 버전, 동작 모드, 포트 번호 정보가 있습니다. 

그러나 이 상태는 서비스를 하기 한 데몬이 아니기 때문에 간단하게 설정파일을 만들어 보겠습니다.

cd ~
vi redis.conf

위 같이 쉘에서 명령어를 입력한 다음 vi 에서 아래와 같이 만들고 저장하겠습니다. 

# redis_standalone.conf

port 6379
daemonize yes

# localhost setting
protected-mode yes
# bind 0.0.0.0

# files
dir "/home/redis/data/"
dbfilename standalone.rdb
appendfilename standalone.aof
logfile /home/redis/logs/standalone.log

정말로 간단한 설정 파일을 작성했습니다. 설정을 아래 간단하게 표로 정리 했으니 한번 보고 넘어가면 될듯합니다. 아! 그리고 설정 중에 protected-mode와 bind 에 대한 내용이 있는데 이번 글에서는 이렇게 하면 로컬에서만 접속이 되는구나! 하고 넘어가고 protected 모드에 대한 내용은 중요한 내용이니 추후에 글을 써서 정리하겠습니다. 

설정 설명
port  정수 Redis 가 서비스할 포트번호를 명시
daemonize yes 또는 no Redis를 데몬 프로세스로 동작할 지 선택
protected-mode yes 또는 no Redis를 보호하기 위한 모드. 이 옵션의 영향을 받는 옵션이 없을 경우 localhost만 접속을 허용.  자세한 내용은 다른 글로 정리 할 예정.
bind IP 주소 요청을 수락할 IP를 명시. protected-mode가 yes일 경우 localhost 외에는 명시적으로 IP를 입력해야 함. 
dir 피일시스템의 경로 Redis의 db 파일과 appendonly파일의 경로를 지정
dbfilename 파일 이름 dir 경로에 저장될 rdb파일의 이름을 지정
appendfilename 파일 이름 dir 경로에 저장될 aof파일의 이름을 지정
logfile 경로와 파일이름 log를 저장할 파일의 경로와 파일 이름을 지정

이제 실행이 되었으면 redis를 구동해 봅시다. 이번에는 작성한 설정파일을 아래와 같이 파라미터로 입력해서 실행해 보겠습니다. 

# 새로 작성한 설정 파일을 이용해서 redis 서버 시작
redis-server ./redis_standalone.conf

# redis가 시작되었는지 log 파일로 확인
tail -f /home/redis/logs/standalone.log

정상적으로 시작되면 아무런 메시지가 없습니다. 만약 어떤 메시지가 출력 된다면 설정 파일이나 명령 실행에 문제가 있다는 뜻 입니다. 실행이 잘 되었는지 보기 위해 log파일의 경로를 열어서 확인해 보면 아래와 같이 메시지가 출력 됩니다.

Ready to accept connections 가 떴네요! 성공!

잘 실행 된 것을 확인 했으니 redis 서버에 접속해보겠습니다. 

# redis-cli 명령어 사용법 
# redis-cli -h ip 주소 -p port 번호
redis-cli -h localhost -p 6379

사실 지금 설정에서는 서버의 ip 주소나 이름을 적는 -h 옵션과 -p 옵션을 적지 않아도 기본 값인 localhost의 6379 포트로 접속한 다음 값을 세팅해 보겠습니다. 

# redis-cli 명령

# 레디스 저장한 모든 키를 조회
keys * 

# key를 username, value를 jmlim으로 입력
set username jmlim

keys *
# username 이라는 키의 값을 조회
get username

username:jmlim 이라는 키-값이 저장되었습니다!

위 그림을 보면 처음 키를 조회했을 때는 아무런 키도 없었지만, set 명령을 실행한 이후에는 키-벨류가 저장되었음을 볼 수 있습니다. 

 

오늘 이야기는 여기까지입니다! 

끝!

 

 

 

 

 

반응형

'IT > Redis' 카테고리의 다른 글

Redis 의 운영 방식  (0) 2022.05.20
Redis 개발 환경 만들기: 설치  (0) 2022.05.17