카테고리 없음

ec2에 redis 설치(amazon linux)

코딩연습중 2025. 5. 22. 16:36

1. 시스템 패키지 업데이트

sudo yum update -y

 

Amazon Linux 2023 또는 ECS 최적화 AMI 기반의 인스턴스에서는 amazon-linux-extras 명령어로 Redis를 설치할 수 없다
소스에서 Redis를 직접 빌드해서 설치


✅ Amazon Linux 2023에서 Redis 설치 방법 (소스 빌드)

1. 빌드 도구 설치

sudo yum groupinstall "Development Tools" -y
sudo yum install gcc jemalloc-devel tcl -y

2. Redis 소스 다운로드 및 빌드

cd /tmp
curl -O http://download.redis.io/releases/redis-6.2.13.tar.gz
tar xzf redis-6.2.13.tar.gz
cd redis-6.2.13
make
sudo make install

3. Redis 실행 테스트

src/redis-server

✅ 백그라운드로 실행하고 싶다면

1. 설정 복사

mkdir -p ~/redis
cp redis.conf ~/redis
cd ~/redis

2. 설정 수정

vi redis.conf
  • daemonize no → daemonize yes
  • bind 127.0.0.1 → bind 0.0.0.0 (외부 접근 허용 시)
  • protected-mode yes → no (보안 그룹으로 IP 통제할 경우)

3. 실행

src/redis-server redis.conf

필요하면 systemd 등록이나 부팅 시 자동 실행 설정도 도와줄게.
일단 위 단계부터 해봐!

 

 

 

응! 지금 상태를 보면:


✅ 1. Redis는 정상적으로 안 떠 있는 상태야.

nohup src/redis-server > redis.log 2>&1 & → Exit 127은 실행 실패 의미야.

즉, redis-server 실행 자체가 안 된 거야. 보통은 src/redis-server가 존재하지 않거나 권한 문제일 때 나옴.


✅ 2. ps aux | grep redis 결과에도 실제 Redis 프로세스는 없어.

grep redis만 보이고, redis-server는 없음.
또 netstat도 root 권한 필요하다고 하고, 포트 열려 있는 것도 없음.


📌 그래서 지금은 "Redis 안 떠 있음 + 로그 확인 필요"

🔧 해결 순서

  1. Redis가 있는지 다시 확인
ls ~/redis-6.2.13/src/redis-server
  1. 다시 실행 (로그도 저장)
cd ~/redis-6.2.13
nohup src/redis-server > ~/redis.log 2>&1 &
  1. 정상 실행 확인
ps aux | grep redis
sudo netstat -tulnp | grep 6379
  1. 로그 확인
tail -n 30 ~/redis.log

🔒 그리고 추가로 답변:

  • bind, protected-mode 안 써도 localhost에서만 접근하는 구조라면 괜찮아.
    단, MSA 다른 컨테이너에서 접근하려면 bind 0.0.0.0이 필요함.
  • daemonize yes는 redis.conf로 실행할 때만 인식돼.
    직접 CLI에서 실행할 땐 nohup이 그 역할을 대신함.

✅ 그래서 정리하면:

  • config 없이도 가능
  • 지금은 실행 실패했으니 다시 실행하고 확인 필요
  • nohup이면 터미널 꺼도 유지됨
  • 접근 범위 설정은 MSA 구조에 따라 bind 설정 고려

필요하면 내가 재확인 스크립트도 만들어줄게!

 

이렇게 하면 터미널 꺼도 redis 서버 켜진 채로 유지됨