콘텐츠로 이동

Redis 설치 및 초기 설정

Rocky Linux 9 또는 8에서 Redis를 설치하고 서비스 상태를 검증하는 기준을 정의함.


1. Redis 설치 전 Rocky Linux 업데이트

Redis 설치 전 시스템 패키지 메타데이터와 기존 패키지를 업데이트함.

sudo dnf upgrade --refresh -y

필요한 기본 도구를 설치함.

sudo dnf install dnf-plugins-core curl ca-certificates -y

Rocky Linux 버전을 확인함.

cat /etc/rocky-release

출력 예시:

Rocky Linux release 9.4 (Blue Onyx)

운영 서버에서는 설치 전 다음 항목도 확인함.

hostnamectl
free -h
df -h
timedatectl

Redis를 운영 서버에 설치하기 전에 현재 활성화된 저장소를 확인함.

dnf repolist

기존 Redis 또는 Valkey 설치 여부를 확인함.

rpm -qa | grep -Ei '^(redis|valkey)'
systemctl list-unit-files | grep -Ei 'redis|valkey'

2. AppStream 저장소로 Redis 설치

AppStream은 Rocky Linux 기본 저장소임. 배포판에서 제공하고 테스트한 Redis 패키지를 사용하므로 안정성 중심 운영 환경에 적합함.

AppStream의 Redis 버전은 Rocky Linux major/minor release, module stream, mirror 상태에 따라 달라질 수 있음. 운영자는 설치 전에 사용 가능한 stream과 기본 stream을 확인함.

dnf module list redis
dnf info redis

Redis를 설치함.

sudo dnf install redis -y

설치된 Redis 버전을 확인함.

redis-server -v

설치된 패키지 정보를 확인함.

rpm -qi redis

AppStream 방식은 배포판 안정성을 우선하는 환경에 적합함. 다만 Redis 최신 기능이 필요한 경우에는 Remi 저장소 또는 Redis 공식 RPM 저장소를 검토함.

주의 Rocky Linux 8 AppStream 환경에서는 Redis 5.x 또는 6.x 계열이 설치될 수 있음. Redis CLI 옵션, ACL, TLS, RDB/AOF 파일 호환성, client library 호환성이 Redis 버전에 따라 달라질 수 있으므로 설치 전후 버전을 반드시 기록함.


3. Remi 저장소로 Redis 설치

Remi 저장소는 RHEL 계열에서 최신 Redis stream을 사용해야 할 때 자주 사용됨. 운영 환경에서는 Remi 저장소를 사용할지 조직 정책상 승인되어 있는지 먼저 확인해야 함.

3.1 Rocky Linux 9에서 Remi 저장소 추가

Rocky Linux 9에서는 CRB(CodeReady Builder)를 활성화함.

sudo dnf config-manager --set-enabled crb

EPEL 저장소를 설치함.

sudo dnf install epel-release -y

Remi 저장소를 설치함.

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

3.2 Rocky Linux 8에서 Remi 저장소 추가

Rocky Linux 8에서는 PowerTools 저장소가 필요한 경우 활성화함.

sudo dnf config-manager --set-enabled powertools

EPEL 저장소를 설치함.

sudo dnf install epel-release -y

Remi 저장소를 설치함.

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

3.3 Remi Redis stream 확인 및 설치

사용 가능한 Redis module stream을 확인함.

sudo dnf module list redis

기존 Redis module stream이 활성화되어 있다면 초기화함.

sudo dnf module reset redis -y

조직에서 승인한 Redis stream을 선택하여 활성화함.

예시:

sudo dnf module enable redis:remi-8.2 -y

Redis를 설치함.

sudo dnf install redis -y

설치된 Redis 버전을 확인함.

redis-server -v
rpm -qi redis

주의 운영 환경에서는 임의로 최신 stream을 선택하지 않음. staging 환경에서 애플리케이션 호환성, client library 호환성, persistence 파일 호환성, 장애 복구 절차를 검증한 뒤 stream을 고정함.


4. Redis 공식 RPM 저장소로 Redis 설치

Redis 공식 RPM 저장소를 사용할 수도 있음. 이 방식은 Redis upstream 공식 패키지를 사용해야 하는 환경에서 검토함.

운영 환경에서는 다음 사항을 먼저 확인함.

  • 조직에서 외부 RPM 저장소 사용이 허용되는지 확인함.
  • GPG key 검증 정책을 확인함.
  • 내부 mirror 또는 artifact repository로 프록시할지 결정함.
  • AppStream 또는 Remi Redis와 충돌하지 않도록 저장소 우선순위를 관리함.
  • minimal 설치 환경에서 의존성 문제가 발생할 경우 EPEL/CRB/PowerTools 활성화 필요 여부를 점검함.

Redis 공식 RPM 문서 기준 baseurl은 http://packages.redis.io/rpm/rockylinux9 또는 http://packages.redis.io/rpm/rockylinux8 형식임. GPG key는 HTTPS로 내려받아 로컬 파일을 import함.

4.1 Rocky Linux 9에서 Redis 공식 RPM 저장소 추가

sudo tee /etc/yum.repos.d/redis.repo > /dev/null <<'EOF'
[Redis]
name=Redis
baseurl=http://packages.redis.io/rpm/rockylinux9
enabled=1
gpgcheck=1
EOF

GPG key를 가져와 import함.

curl -fsSL https://packages.redis.io/gpg > /tmp/redis.key
sudo rpm --import /tmp/redis.key
rm -f /tmp/redis.key

저장소 메타데이터를 확인함.

sudo dnf clean metadata
sudo dnf makecache --disablerepo='*' --enablerepo='Redis'

Redis를 설치함.

sudo dnf install redis -y

4.2 Rocky Linux 8에서 Redis 공식 RPM 저장소 추가

sudo tee /etc/yum.repos.d/redis.repo > /dev/null <<'EOF'
[Redis]
name=Redis
baseurl=http://packages.redis.io/rpm/rockylinux8
enabled=1
gpgcheck=1
EOF

GPG key를 가져와 import함.

curl -fsSL https://packages.redis.io/gpg > /tmp/redis.key
sudo rpm --import /tmp/redis.key
rm -f /tmp/redis.key

저장소 메타데이터를 확인함.

sudo dnf clean metadata
sudo dnf makecache --disablerepo='*' --enablerepo='Redis'

Redis를 설치함.

sudo dnf install redis -y

4.3 의존성 문제 발생 시 점검

Redis 공식 RPM 문서에는 EPEL 설치가 필수 단계로 명시되어 있지 않음. 다만 Rocky Linux minimal 환경, 내부 mirror 환경, 제한된 repository 환경에서는 의존성 문제가 발생할 수 있음.

의존성 오류가 발생하면 다음을 점검함.

Rocky Linux 9:

sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release -y
sudo dnf install redis -y

Rocky Linux 8:

sudo dnf config-manager --set-enabled powertools
sudo dnf install epel-release -y
sudo dnf install redis -y

4.4 공식 RPM 설치 검증

rpm -qi redis
redis-server -v
dnf repoquery --installed redis --info

주의 하나의 서버에서 AppStream, Remi, Redis 공식 RPM 저장소를 동시에 무분별하게 활성화하면 패키지 출처가 섞일 수 있음. 운영 서버에서는 하나의 Redis 패키지 출처를 명확히 선택하고 문서화함.


5. Redis 서비스 활성화 및 설치 검증

Redis 서비스를 활성화하고 즉시 시작함.

sudo systemctl enable --now redis

서비스 상태를 확인함.

systemctl is-active redis
systemctl is-enabled redis
sudo systemctl status redis --no-pager

Redis 응답을 확인함.

redis-cli ping

정상 출력:

PONG

Redis 프로세스와 listen 포트를 확인함.

ps -ef | grep '[r]edis'
sudo ss -tlnp | grep ':6379'

Redis 버전과 빌드 정보를 확인함.

redis-server -v
redis-cli INFO server

설치 직후 결과를 운영 기록에 남김.

{
  echo "date=$(date -Is)"
  echo "rocky_release=$(cat /etc/rocky-release)"
  echo "redis_version=$(redis-server -v)"
  echo "redis_package=$(rpm -qi redis | sed -n '1,20p')"
} | tee redis-install-record.txt

6. Redis 설정 파일 경로 확인

Rocky Linux 버전과 패키지 출처에 따라 Redis 설정 파일 경로가 다를 수 있음.

대표적인 경로는 다음과 같음.

환경 설정 파일 예시
Rocky Linux 9 AppStream 또는 Remi Redis /etc/redis/redis.conf
Rocky Linux 8 AppStream Redis /etc/redis.conf
Redis 공식 RPM /etc/redis/redis.conf 계열
Valkey /etc/valkey/valkey.conf

운영 서버에서는 추측하지 말고 실제 설치된 파일과 systemd unit을 확인함.

rpm -ql redis | grep -E '\.conf$'

sentinel.conf 또는 예제 conf가 잘못 선택되지 않도록 Redis main config 후보만 좁혀서 확인함.

rpm -ql redis | grep -E '/(redis\.conf|redis/redis\.conf)$'

systemd unit에서 Redis 실행 옵션을 확인함.

systemctl cat redis

Redis가 실제로 어떤 설정 파일을 사용하는지 확인함.

ps -ef | grep '[r]edis-server'

설정 파일을 자동으로 찾을 때는 다음처럼 Redis main config만 대상으로 삼음.

REDIS_CONF="$(
  rpm -ql redis \
    | grep -E '/(redis\.conf|redis/redis\.conf)$' \
    | head -n 1
)"

if [ -z "$REDIS_CONF" ]; then
  echo "Redis main config file was not found. Check systemctl cat redis manually." >&2
  exit 1
fi

echo "$REDIS_CONF"

설정 파일을 수정하기 전에 백업함.

sudo cp -a "$REDIS_CONF" "${REDIS_CONF}.$(date +%Y%m%d%H%M%S).bak"

주의 운영 문서에서 /etc/redis.conf 하나만 고정 경로로 안내하면 Rocky Linux 9, Remi, 공식 RPM 환경에서 틀릴 수 있음. 반드시 실제 설정 파일 경로를 확인한 뒤 수정함.