본문 바로가기

Database/NO-SQL

Redis 설치 하기(AWS, lightsail, ec2, demian)

1. apt-get 업데이트 후 redis설치하기

sudo apt-get update
sudo apt-get install redis-server

- 설치는 완료되었으나 서비스 시작을 실패했다고 표시된다.

 

2. 설치후 실행 오류 상태 확인하기

systemctl status redis-server.service

Failed to start Advanced key-value store. 이라는 에러만 표시되고 log를 확인해도 별다른 내용이 없다...

 

일단 서비스 부분이므로 서비스를 중단 하고 port 상태 부터 확인 한다.

//redis 서비스 종료
systemctl stop redis-server.service

//현재 포트 상태 확인
netstat -tuln

분명히 서비스를 종료했는데 아래와 같이 6379 포트가 올라와 있다

포트를 사용중인 프로세스를 죽이고 다시 redis 서비스를 시작 시킨다.

//6379 포트를 사용중인 프로세스 확인
netstat -tnlp|grep 6379

//해당 프로세스 번호로 프로세스 죽이기
kill -9 1256

//해당 포트가 사용중인지 다시 확인
netstat -tnlp|grep 6379

//redis 서비스 시작
systemctl start redis-server.service

현재 상태를 확인하니 정상적으로 서비스가 시작 되었다.

 

3. 최대 사용 메모리 제한

현재 사용중인 서버가 Lightsail의 ec2 t3.micro 급으로 메모리가 1G 밖에 되지 않는다

redis가 메모리를 많이 가져가 버리면 해당 서버의 전체 서비스가 느려지고 현재는 대용량을 저장하지 않을 계획이므로

최대 메모리 사용을 제한한다.

 

redis 환경설정파일에서 maxmemory를 300mb로 설정한다.

vi /etc/redis/redis.conf

메모리 관리에 설명처럼 최대용량에 도달하면 기존 키값을 지우게 되므로 메모리 정책에서 제거 안함으로 설정하였다.

maxmemory-policy noeviction

 

4. 접속 패스워드 설정

환경설정내에 주석으로 처리되어 있는 requirepass를 주석해제후 사용하고자 하는 패스워드를 입력한다.

 

5. 외부접속 허용

기존 localhost에서만 접속가능하도록 설정된 부분을 주석처리하고 외부접속이 가능하도록 0.0.0.0으로 변경한다.

외부에서 접속할 수 있도록 Lightsail(EC2)의 보안설정에서도 6379 포트를 허용하여야 한다.

 

서비스를 재시작하여 해당 설정을 적용한다.