Ubuntu 24.04, 22.04 또는 20.04에 Redis를 설치하는 방법

Redis는 데이터베이스, 캐시 및 메시지 브로커로 널리 사용되는 강력한 인 메모리 데이터 구조 저장소입니다. 고성능과 다용도로 잘 알려진 Redis는 문자열, 해시, 목록, 집합 등과 같은 다양한 데이터 구조를 지원하므로 빠른 데이터 액세스와 실시간 분석이 필요한 애플리케이션에 널리 사용됩니다.

Ubuntu 24.04, 22.04 또는 20.04에서 Redis는 두 가지 주요 방법을 사용하여 설치할 수 있습니다. 첫 번째 방법은 시스템 패키지 관리와 잘 통합된 안정적인 버전을 제공하는 Ubuntu 기본 저장소를 이용하는 것입니다. 또는 최신 기능과 업데이트가 포함된 최신 버전이 필요한 사용자의 경우 Redis APT 미러 저장소를 사용하여 Redis를 설치할 수 있습니다. 이 가이드는 두 가지 설치 방법을 안내하여 요구 사항에 가장 적합한 접근 방식을 선택하는 데 도움을 줍니다.

방법 1: APT 기본 리포지토리를 통해 Redis 설치

Redis 설치 전에 Ubuntu 업데이트

Redis를 설치하기 전에 시스템 패키지가 최신 상태인지 확인하는 것이 중요합니다. 이 단계는 설치 프로세스 중에 발생할 수 있는 충돌을 방지하는 데 도움이 됩니다. Ubuntu 시스템을 업데이트하려면 다음 명령을 실행하십시오.

sudo apt update && sudo apt upgrade

이 명령은 리포지토리에서 최신 패키지 정보를 가져오고 시스템의 오래된 패키지를 업그레이드합니다.

APT 명령을 통해 Redis 설치

기본적으로 Redis 패키지는 Ubuntu 저장소에 포함되어 있으며 다음 명령을 사용하여 설치할 수 있습니다.

sudo apt install redis

이 명령은 Redis 패키지와 해당 종속성을 시스템에 다운로드하고 설치합니다.

Redis 설치 확인

이제 Redis를 설치했으므로 설치된 버전을 확인해야 하므로 설치 확인이 중요합니다. 이 단계에서는 Redis가 올바르게 설치되고 예상대로 작동하는지 확인합니다.

Redis 설치를 확인하려면 다음 명령을 실행합니다.

redis-cli --version

이 명령은 시스템에 설치된 Redis 버전을 표시합니다. 출력에 Redis 버전이 표시되면 설치가 성공한 것입니다.

방법 2: Redis.io APT PPA를 통해 Redis 설치

Redis.io를 사용하여 Redis를 설치하기 전에 Ubuntu 업데이트

Redis 설치를 진행하기 전에 시스템 패키지를 업데이트하여 호환성을 보장하고 충돌을 방지하세요.

sudo apt update && sudo apt upgrade

Redis.io PPA용 초기 패키지 설치

설치를 완료하려면 일부 필수 소프트웨어 패키지를 설치해야 합니다. 다음 명령을 실행하여 설치하십시오.

sudo apt install software-properties-common apt-transport-https curl ca-certificates curl -y

이러한 패키지는 Redis.io 저장소를 추가하고 패키지 정보를 안전하게 가져오는 데 필요합니다.

Redis.io APT 저장소 가져오기

먼저 GPG 키를 가져와 패키지를 인증합니다.

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

다음으로 Redis.io 저장소를 시스템에 추가합니다.

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

Redis.io PPA 가져오기 후 패키지 목록 업데이트

새로 추가된 Redis.io 저장소를 포함하도록 소스 목록을 업데이트하세요.

sudo apt update

터미널 명령을 통해 Redis PPA 설치 완료

이제 Redis.io 저장소에서 Redis를 설치할 수 있습니다. Redis가 이미 설치되어 있는 경우 이 명령으로 업그레이드됩니다.

sudo apt install redis-server redis-tools

Redis 설치 확인

Redis.io 버전이 설치되었는지 확인하려면 apt-cache 정책 명령을 사용하십시오.

apt-cache policy redis-server

출력에 올바른 버전이 표시되는지 확인하십시오.

다음으로 Redis 서비스를 활성화하고 시작합니다.

sudo systemctl enable redis-server --now

Redis 서비스 상태를 확인하고 오류 없이 실행되고 있는지 확인하세요.

systemctl status redis-server

Redis는 기본 포트 6379에서 localhost를 적극적으로 수신해야 합니다. 이를 확인하려면 다음 명령을 실행합니다.

ps -ef | grep redis

예제 출력:

redis       4171       1  0 23:35 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
joshua      4702    4691  0 23:36 pts/0    00:00:00 grep --color=auto redis

Redis 연결 테스트

Redis 설치를 테스트하려면 redis-cli 명령을 사용하여 Redis 서비스에 연결합니다.

redis-cli

연결되면 터미널에 127.0.0.1:6379가 표시됩니다. Redis 서비스와의 적절한 통신을 확인하기 위해 ping 테스트를 수행합니다.

ping
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

출력은 성공적인 연결을 나타내는 "PONG"이어야 합니다. Redis 인스턴스를 종료하려면 다음을 입력합니다.

exit

축하해요! 시스템에 Redis를 성공적으로 설치했으며 작동하는지 확인했습니다. 이제 필요에 따라 Redis 구성을 진행할 수 있습니다.

Redis 구성에 대한 빠른 요약

Redis는 다양한 사용 사례에 맞게 다양한 방식으로 구성할 수 있는 다목적 도구입니다. 이 섹션에서는 캐싱, 네트워크 액세스를 위해 Redis를 구성하고 보안 강화를 위한 비밀번호를 설정하는 과정을 안내합니다.

Redis 구성 파일 편집

Redis 구성을 시작하려면 nano 편집기를 사용하여 /etc/redis/redis.conf 파일을 엽니다.

sudo nano /etc/redis.conf

Redis에 대한 최대 메모리 구성

사람들이 Redis를 사용하는 주요 이유 중 하나는 캐싱 목적입니다. Redis 캐싱에 특정 양의 메모리를 할당하려면 구성 파일 끝에 다음 줄을 추가합니다.

maxmemory 500mb 
maxmemory-policy allkeys-lru

이 예에서는 Redis에 500MB의 메모리를 전용으로 사용했습니다. 서버의 하드웨어 및 애플리케이션 요구 사항에 따라 이 값을 조정할 수 있습니다. 할당된 메모리가 소진되면 Redis는 LRU(Least Recent Used) 알고리즘을 기반으로 키를 제거합니다.

Redis에 대한 네트워크 액세스 구성

기본적으로 Redis는 localhost 인터페이스만 수신합니다. 모든 네트워크 인터페이스 또는 특정 IP 주소/서브넷에서 수신하도록 구성할 수 있습니다.

먼저 구성 파일에서 69행을 찾으십시오.

옵션 1: 모든 네트워크 인터페이스에서 수신 대기

모든 네트워크 인터페이스를 수신하려면 다음을 추가하여 "bind" 줄을 주석 처리하세요. # 처음에:

# bind 127.0.0.1 ::1

옵션 2: 특정 IP 주소 또는 서브넷에 바인딩

Redis를 특정 IP 주소 또는 서브넷에 바인딩하려면 "bind" 줄을 원하는 IP 또는 서브넷으로 바꿉니다.

bind 0.0.0.0/0

또는

bind 192.150.5.0/24

참고: Redis를 IP 주소 또는 서브넷에 바인딩할 때 보안 강화를 위해 비밀번호를 설정하는 것이 좋습니다.

Redis에 대한 비밀번호 구성

Redis 인스턴스를 더욱 안전하게 보호하려면 인증용 비밀번호를 설정하세요.

# requirepass로 시작하는 줄(약 507줄)을 찾아 주석 처리를 해제하고 강력한 비밀번호를 설정하세요.

requirepass YourStrongPasswordHere

YourStrongPasswordHere를 대문자, 소문자, 숫자 및 특수 기호가 혼합된 강력한 비밀번호로 바꾸십시오.

비밀번호를 설정한 후 redis-cli를 사용하여 Redis에 연결할 때 비밀번호와 함께 auth 명령을 사용해야 합니다.

redis-cli
auth YourStrongPasswordHere

인증에 실패한 사용자는 오류 메시지를 받게 됩니다: (오류) NOAUTH 인증 필요.. 인증에 성공하면 사용자에게 OK 메시지가 표시됩니다.

변경 사항을 저장하고 Redis를 다시 시작하세요.

구성 파일에 필요한 사항을 변경한 후 Ctrl + O를 눌러 변경 사항을 저장하고 Ctrl + X를 눌러 nano 편집기를 종료합니다. 마지막으로 Redis 서비스를 다시 시작하여 새 설정을 적용합니다.

Redis UFW 방화벽 규칙 구성

Redis를 사용할 때, 특히 특정 IP 주소나 서브넷을 수신하도록 구성한 경우 방화벽이 TCP 포트 6379에서 들어오는 연결을 허용하는지 확인하는 것이 중요합니다. 이 섹션에서는 Redis 연결을 허용하도록 UFW(복잡하지 않은 방화벽) 규칙을 구성하는 방법에 대해 설명합니다.

UFW가 설치되어 있고 활성화되어 있는지 확인하세요

먼저 시스템에 UFW가 설치되어 있는지 확인하세요.

sudo apt install ufw -y

다음으로, 아직 UFW가 활성화되어 있지 않다면 활성화하세요:

sudo ufw enable

Redis용 UFW 규칙 생성

요구 사항 및 네트워크 설정에 따라 단일 서버 인스턴스 또는 클러스터의 여러 인스턴스에 대한 규칙을 만들어야 할 수도 있습니다.

옵션 1: 특정 IP 주소의 액세스 허용

단일 서버에서 Redis에 대한 액세스를 허용해야 하는 경우 해당 특정 IP 주소에 대한 UFW 규칙을 만듭니다.

sudo ufw allow proto tcp from <ip address> to any port 6379

바꾸다 적절한 IP 주소를 사용하세요.

옵션 2: 서브넷에서의 액세스 허용

여러 인스턴스가 있는 클러스터 네트워크가 있는 경우 전체 서브넷의 액세스를 허용하는 UFW 규칙을 만들 수 있습니다.

sudo ufw allow proto tcp from <ip address>/24 to any port 6379

바꾸다 적절한 서브넷 IP 주소로. 이 규칙을 사용하기 전에 내부 네트워크가 안전하고 신뢰할 수 있는지 확인하세요.

Redis 연결 테스트

UFW 규칙을 구성한 후 Redis 서비스를 테스트하여 허용된 IP 주소 또는 서브넷에서 작동하고 액세스할 수 있는지 확인하세요. -h 플래그와 함께 redis-cli 명령을 사용하고 그 뒤에 연결하려는 IP 주소를 입력합니다.

redis-cli -h  <ip address> ping

바꾸다 적절한 IP 주소로. 구성이 올바르면 "pong" 응답을 받아야 합니다.

pong

추가 Redis 구성 옵션

Redis는 주로 캐싱, 메시지 중개 등에 사용되는 다양한 기능을 갖춘 인메모리 데이터 구조 저장소입니다. 이 섹션에서는 Redis 구성 파일을 수정하여 특정 요구 사항에 맞게 성능과 동작을 조정하는 데 도움이 될 수 있는 Redis의 추가 구성 옵션을 살펴보겠습니다.

Redis에 대한 키-값 만료 정책 구성

Redis 구성 파일에서 maxmemory-policy 및 maxmemory-samples 설정을 수정하여 키에 대한 기본 TTL(Time-To-Live)을 설정할 수 있습니다. nano 편집기를 사용하여 /etc/redis/redis.conf 파일을 엽니다.

sudo nano /etc/redis/redis.conf

maxmemory-policy 설정을 찾아 원하는 대로 구성합니다. 예를 들어 LRU(최근 사용 횟수) 알고리즘을 사용하여 키를 만료하도록 정책을 설정하려면 다음과 같이 구성을 업데이트합니다.

maxmemory-policy volatile-lru

이제 maxmemory-samples 설정을 찾고 Redis가 제거 결정을 내리기 위해 확인해야 하는 샘플 수를 구성합니다.

maxmemory-samples 5

Redis에 대한 TCP Keepalive 구성

TCP keepalive는 유휴 연결을 감지하고 닫아 리소스를 확보하는 데 도움이 됩니다. TCP keepalive를 활성화하려면 /etc/redis/redis.conf 파일에서 tcp-keepalive 설정을 찾으세요.

tcp-keepalive 300

이 예에서는 연결 유지 간격을 300초로 설정합니다. 요구 사항에 따라 값을 조정하십시오.

Redis에 대한 느린 로그 모니터링 구성

느린 로그는 지정된 시간보다 오래 걸리는 쿼리를 로깅하여 성능 문제를 식별하는 데 도움이 됩니다. 느린 로그를 구성하려면 /etc/redis/redis.conf 파일에서 Slowlog-log-slower-than 및 Slowlog-max-len 설정을 찾으세요.

slowlog-log-slower-than 10000
slowlog-max-len 128

이 예에서는 느린 로그 임계값을 10,000마이크로초(10밀리초)로 설정하고 느린 로그를 가장 최근 항목 128개로 제한합니다. 필요에 따라 이러한 값을 조정하십시오.

Redis에 대한 Redis 이벤트 알림 구성

Redis는 특정 이벤트에 대한 알림을 생성할 수 있으며 이는 모니터링 및 디버깅에 도움이 될 수 있습니다. 이벤트 알림을 활성화하려면 /etc/redis/redis.conf 파일에서 inform-keyspace-events 설정을 찾으십시오.

notify-keyspace-events ExA

이 예에서는 만료되고 제거된 키에 대한 알림을 보내도록 Redis를 구성합니다. 공식 Redis 설명서는 이벤트 알림 및 사용 가능한 옵션에 대한 자세한 정보를 제공합니다.

Redis에 대한 Redis 로깅 수준 구성

Redis 로깅 수준을 조정하면 문제 해결 및 모니터링 목적에 적합한 양의 정보를 수집하는 데 도움이 될 수 있습니다. 로깅 수준을 설정하려면 /etc/redis/redis.conf 파일에서 loglevel 설정을 찾으세요.

loglevel notice

이 예에서는 로깅 수준을 기본 수준인 "알림"으로 설정했습니다. 디버그, 자세한 정보 표시, 알림 및 경고 옵션 중에서 선택할 수 있습니다. 요구 사항에 따라 로깅 수준을 조정합니다.

원하는 옵션을 구성한 후 변경 사항을 저장하고 Redis를 다시 시작합니다.

sudo systemctl restart redis-server

결론

Ubuntu 시스템에 Redis를 설치하면 메모리 내 데이터를 관리하기 위한 강력한 도구에 액세스하여 다양한 애플리케이션에 빠르고 효율적인 스토리지 솔루션을 제공할 수 있습니다. Ubuntu 기본 리포지토리의 안정성을 선택하든 Redis APT 미러 리포지토리의 최첨단 기능을 선택하든 두 방법 모두 강력한 설치를 보장합니다. 특히 APT 미러를 사용할 때 Redis 설정을 정기적으로 업데이트하면 최신 기능과 보안 개선 사항을 통해 시스템을 원활하게 실행할 수 있습니다. Redis가 Ubuntu 환경에 제공하는 속도와 유연성을 즐겨보세요.

Joshua James

코멘트를 남겨주세요