블로그 방문자만 3개월 추가 무료 이용권 + 3년 플랜 10% 할인 혜택을 받으세요 와이스블로그10
거래를 잡아

리눅스 서버에 Redis를 설치하는 방법: (단계별 가이드 2026)

Linux 서버에 Redis를 설치하려면시스템을 업데이트하고 패키지를 통해 Redis를 설치하세요. manage`r`(apt 또는 `dnf/yum`) 명령어를 사용하여 서비스를 활성화하고 시작한 다음, 보안을 강화하고 설정을 최적화하십시오. Ubuntu에서는 `apt install redis-server`, RHEL 기반 시스템에서는 `dnf install redis`를 실행하십시오. `/etc/redis/redis.conf` 파일에서 바인딩, 인증, 영구 저장소 및 성능 설정을 구성한 후 `redis-cli` 명령어로 확인하십시오.

Linux 서버에 Redis를 설치하는 것은 데이터베이스와 애플리케이션 속도를 향상시키는 가장 빠른 방법 중 하나입니다. 이 단계별 가이드에서는 Ubuntu/Debian 및 CentOS/RHEL/Rocky/AlmaLinux에 Redis를 설치, 보안, 구성 및 최적화하는 방법과 WordPress 객체 캐싱에 Redis를 사용하는 방법을 배우게 됩니다. 또한 수년간 트래픽이 많은 환경을 관리하면서 얻은 실제 운영 팁도 공유합니다.

Redis란 무엇이며, Linux 서버에 설치해야 하는 이유는 무엇일까요?

Redis란 무엇이며 Linux 서버에 설치해야 하는 이유는 무엇일까요?

Redis는 캐시, 데이터베이스 및 메시지 브로커로 사용되는 인메모리 데이터 저장소입니다. 매우 빠른 속도를 자랑하며 데이터베이스 부하 감소, 세션 저장, 큐 관리, 속도 제한 및 실시간 분석에 적합합니다. Linux 환경에서는 가볍고 안전하며 systemd를 사용하여 쉽게 자동화할 수 있습니다.

주요 사용 사례

사전 조건

  • 리눅스 서버(Ubuntu/Debian 또는 CentOS/RHEL/Rocky/AlmaLinux).
  • 루트 또는 sudo 접근.
  • (외부에서 접속해야 하는 경우에만) 포트 6379에 대한 로컬 액세스 또는 방화벽 규칙을 설정하십시오.
  • 기본적인 명령줄 사용 편의성.

빠른 설치: 우분투/데비안에 Redis 설치하기

APT를 통해 설치하세요

sudo apt update
sudo apt install -y redis-server

systemd 감독 및 보안 기본 설정을 활성화합니다.

Redis를 다음과 같이 설정하세요. managesystemd에 의해 설치되며 기본적으로 localhost에서만 수신 대기합니다. Ubuntu에서는 일반적으로 이 패키지가 보호 모드를 활성화하고 127.0.0.1에 바인딩합니다. 확인 후 조정하십시오.

sudo nano /etc/redis/redis.conf
# Ensure:
supervised systemd
bind 127.0.0.1 ::1
protected-mode yes
port 6379

시작, 활성화 및 확인

sudo systemctl enable redis-server
sudo systemctl restart redis-server
sudo systemctl status redis-server --no-pager
redis-cli ping
# Expected: PONG

CentOS/RHEL/Rocky/AlmaLinux에 Redis 설치하기

DNF/YUM을 통해 설치하세요

최신 RHEL 파생 시스템에서는 Redis를 기본 저장소 또는 EPEL 저장소를 통해 사용할 수 있습니다. Redis를 찾을 수 없는 경우 먼저 EPEL을 활성화하십시오.

# Optional if Redis not found:
sudo dnf install -y epel-release

# Install Redis
sudo dnf install -y redis  # or: sudo yum install -y redis

# Configure basic settings
sudo nano /etc/redis/redis.conf
# Ensure:
supervised systemd
bind 127.0.0.1 ::1
protected-mode yes
port 6379

시작, 활성화 및 확인

sudo systemctl enable redis
sudo systemctl restart redis
sudo systemctl status redis --no-pager
redis-cli ping

(모든 Linux 시스템에서) 소스 코드를 사용하여 최신 Redis를 설치하세요.

배포판에 패키지로 포함되기 전에 최신 Redis 기능이나 성능 개선 사항이 필요한 경우 소스 코드에서 직접 빌드하세요. 이렇게 하면 Redis가 /usr/local에 설치되고 systemd 서비스가 생성됩니다.

# Install build tools
# Debian/Ubuntu:
sudo apt update && sudo apt install -y build-essential tcl pkg-config
# RHEL/Rocky/Alma/CentOS:
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y tcl pkgconfig

# Download and build Redis (replace version as needed)
curl -O https://download.redis.io/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make -j$(nproc)
sudo make install

# Create user, directories, and config
sudo useradd -r -s /bin/false redis || true
sudo mkdir -p /etc/redis /var/lib/redis /var/log/redis /var/run/redis
sudo chown -R redis:redis /var/lib/redis /var/log/redis /var/run/redis

# Copy example config
sudo cp redis.conf /etc/redis/redis.conf
sudo sed -i 's/^supervised no/supervised systemd/' /etc/redis/redis.conf
sudo sed -i 's|^dir .*|dir /var/lib/redis|' /etc/redis/redis.conf
sudo sed -i 's/^bind .*/bind 127.0.0.1 ::1/' /etc/redis/redis.conf
sudo sed -i 's/^protected-mode no/protected-mode yes/' /etc/redis/redis.conf

# Create systemd service
sudo tee /etc/systemd/system/redis.service > /dev/null <<'EOF'
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
LimitNOFILE=10032

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now redis
redis-cli ping

안전한 Redis 구성 (필수)

Localhost 또는 사설 네트워크에 바인딩

Redis를 공용 인터넷에 직접 노출시키지 마십시오. 127.0.0.1 IP 주소 또는 사설 VLAN에 유지하십시오. 부득이하게 노출해야 하는 경우에는 TLS, 강력한 인증 및 방화벽 규칙을 적용하십시오.

# /etc/redis/redis.conf
bind 127.0.0.1 ::1
protected-mode yes
port 6379
# Optional: Unix socket (fast and secure on single host)
unixsocket /var/run/redis/redis.sock
unixsocketperm 770

인증 및 접근 제어 목록(ACL) 추가

강력한 암호를 설정하고 ACL(접근 제어 목록)을 고려하십시오(Redis 6 이상). 여러 애플리케이션이 있는 환경에서는 기본 사용자를 공유하지 마십시오.

# /etc/redis/redis.conf
requirepass <STRONG_LONG_PASSWORD>  # or use ACLs below

# ACL example: Create a limited user for an app
# Run in redis-cli as an admin user:
ACL SETUSER appuser on >>pass=<APP_PASSWORD> +@read +@write ~*
# Verify:
ACL LIST

방화벽: 필요한 것만 허용

# UFW (Ubuntu)
sudo ufw allow from 127.0.0.1 to any port 6379 proto tcp
# Or allow from your app server's private IP only:
sudo ufw allow from 10.0.0.10 to any port 6379 proto tcp

# firewalld (RHEL)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.10" port protocol="tcp" port="6379" accept'
sudo firewall-cmd --reload

(선택 사항) 원격 연결에 TLS를 활성화합니다.

서버 간 트래픽을 위해 TLS를 활성화하십시오. 인증서를 생성한 다음 구성하십시오.

# /etc/redis/redis.conf
tls-port 6379
port 0
tls-cert-file /etc/ssl/redis.crt
tls-key-file /etc/ssl/redis.key
tls-ca-cert-file /etc/ssl/ca.crt

지속성 및 데이터 내구성

Redis는 RDB 스냅샷과 AOF(Append Only File)를 제공합니다. 캐싱 용도로만 사용할 경우 영구 저장 기능을 비활성화할 수 있습니다. 큐 또는 중요 상태 저장을 위해서는 적절한 정책을 적용하여 두 기능을 모두 활성화하는 것이 좋습니다.

# /etc/redis/redis.conf

# RDB snapshots (default examples)
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir /var/lib/redis

# AOF: safer durability
appendonly yes
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

Redis를 순수 캐시로만 사용하는 경우 디스크 사용량 증가를 방지하기 위해 영구 저장 기능을 비활성화하는 것을 고려하십시오.

# For caching-only
save ""
appendonly no

생산을 위한 성능 튜닝

메모리 제한 및 제거 정책 설정

얼마나 되는지 정의하세요 RAM Redis는 어떤 캐시를 사용할 수 있으며, 캐시가 가득 찼을 때 어떤 캐시를 제거할지 결정합니다. LRU 정책은 캐시에 일반적으로 사용됩니다.

# /etc/redis/redis.conf
maxmemory 4gb
maxmemory-policy allkeys-lru   # Alternatives: volatile-lru, allkeys-random, noeviction, etc.

커널 및 시스템 최적화

이러한 설정은 지연 시간 급증 및 메모리 할당 문제를 줄여줍니다.

# sysctl
echo "vm.overcommit_memory=1" | sudo tee -a /etc/sysctl.conf
echo "net.core.somaxconn=1024" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# Transparent Huge Pages off (best-effort; may vary by distro)
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag

# Persist THP change across reboots (systemd drop-in)
sudo tee /etc/systemd/system/disable-thp.service > /dev/null <<'EOF'
[Unit]
Description=Disable Transparent Huge Pages
After=network.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
ExecStart=/bin/sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now disable-thp

# Raise open file limits for the redis user
echo -e "redis soft nofile 10032\nredis hard nofile 10032" | sudo tee /etc/security/limits.d/redis.conf

또한 systemd의 감독 모드가 설정되어 있는지 확인하고 다음 사항을 고려하십시오. 전용 SSD 지연 시간을 줄이기 위해 영구 저장 파일에 사용합니다.

모니터링 및 유지보수

건강 검진 및 지표

# Quick health and stats
redis-cli ping
redis-cli info memory
redis-cli info stats
redis-cli slowlog get 10

주요 지표(사용 메모리, 제거된 키, 연결된 클라이언트, 초당 즉시 작업 수, 지연 시간 급증)를 추적하세요. 더 심층적인 관찰을 위해 Redis Exporter를 Prometheus/Grafana와 통합하세요.

로깅 및 백업

로그 레벨(알림 또는 경고)을 구성하고 로그가 순환되도록 설정하십시오. 중요한 데이터를 저장하는 경우 RDB 및 AOF 파일을 정기적으로 백업하십시오.

# /etc/redis/redis.conf
loglevel notice
logfile /var/log/redis/redis.log

WordPress 객체 캐싱에 Redis 사용

WordPress를 Redis에 연결하면 데이터베이스 쿼리 횟수가 크게 줄어들고 TTFB(Time To First Byte)가 향상됩니다. 영구 객체 캐싱 플러그인을 사용하고 연결을 확인하세요.

Ubuntu/Debian에서 다음 단계를 따르세요 PHP-FPM

# Install PHP Redis extension
sudo apt install -y php-redis
sudo systemctl restart php-fpm || sudo systemctl restart php8.2-fpm

# Install a Redis object cache plugin (e.g., via wp-cli)
wp plugin install redis-cache --activate
wp redis enable
wp redis status

설정 워드 프레스 플러그인 최상의 성능을 위해 127.0.0.1:6379 또는 Unix 소켓을 사용하십시오. requirepass 또는 ACL을 설정한 경우 플러그인을 accordingly 구성하십시오.

At YouStable, 우리의 관리형 VPS 및 전용 서버 Redis를 바로 사용할 수 있도록 최적화되어 있습니다. PHP-FPM 및 NGINX/Apache 스택. 원하지 않으시면 manage 설정 및 튜닝은 직접 하시고, 배포 및 보안 강화는 저희가 담당해 드립니다.

일반적인 오류 및 수정 사항

"Redis에 연결할 수 없습니다."

  • 서비스 중단: systemctl status redis 또는 redis-server 명령을 실행하세요.
  • 방화벽 차단: 필요한 호스트만 허용.
  • 호스트/포트/소켓이 잘못되었습니다. 플러그인/앱 구성을 확인하십시오.
  • 인증 필요: 올바른 비밀번호 또는 ACL 사용자 및 권한을 설정하십시오.

Redis가 시작되지 않습니다

  • 설정 구문 오류: /var/log/redis/redis.log 파일을 확인하세요.
  • 디렉터리 권한이 잘못되었습니다. Redis가 /var/lib/redis 및 /var/run/redis의 소유권을 가지고 있는지 확인하십시오.
  • 포트 충돌: 6379 포트를 사용하는 다른 서비스가 없는지 확인하십시오.
  • Systemd가 감독 기능을 수행하지 않는 경우: redis.conf 파일에서 systemd 감독 모드를 설정하세요.

높은 퇴거율 또는 OOM

  • 증가 RAM 또는 데이터 크기를 줄이세요.
  • 적절한 제거 정책을 사용하여 최대 메모리를 설정하십시오.
  • 주요 TTL(Time To Live) 및 데이터 구조를 검토하십시오.
  • 캐시 전용 사용 사례의 경우 영구 저장 기능을 비활성화하세요.

검증 및 기본 벤치마크

기능을 확인하고 간단한 벤치마크를 실행하여 처리량을 검증하십시오. 신중하게 접근하지 않고 실제 운영 환경에서 벤치마킹을 진행하지 마십시오.

# Quick set/get
redis-cli set test "ok"
redis-cli get test

# Basic benchmark (local)
redis-benchmark -q -n 10000 -c 50 -t set,get

모범 사례 체크리스트

  • Redis는 비공개로 유지해야 합니다. TLS 및 엄격한 접근 제어 목록(ACL) 없이는 인터넷에 절대 공개하지 마십시오.
  • 필수 접근 권한 또는 접근 제어 목록(ACL)을 설정하고, 비밀 키를 주기적으로 변경하십시오.
  • 관리자 권한으로 실행되는 systemd를 사용하고 부팅 시 서비스가 활성화되도록 설정하십시오.
  • 워크로드에 적합한 최대 메모리 크기와 메모리 제거 정책을 정의하십시오.
  • 더 강력한 내구성이 필요하면 AOF를 활성화하고, 캐시 전용으로 사용하려면 영구 저장 기능을 비활성화하세요.
  • 커널 설정을 다음과 같이 조정합니다: overcommit_memory=1, THP=never, somaxconn=1024.
  • 메모리 사용량, 지연 시간, 슬로우로그 및 프로세스 제거를 모니터링하고 이상 징후 발생 시 알림을 보냅니다.
  • 데이터가 중요한 경우 RDB/AOF를 백업하고 복원 테스트를 수행하십시오.

자주 묻는 질문: Linux 서버에 Redis 설치하기

리눅스 서버에서 Redis는 무료로 사용할 수 있나요?

네. Redis는 오픈 소스(BSD 라이선스)이며 Linux에서 무료로 사용할 수 있습니다. 패키지를 통해 설치할 수 있습니다. manager 또는 비용 없이 소스 코드에서 빌드할 수 있습니다.

APT/DNF 패키지를 사용해야 할까요, 아니면 Redis를 소스 코드에서 직접 빌드해야 할까요?

대부분의 사용자에게 배포판 패키지는 안정적이고 잘 통합되어 있습니다. 운영 체제에 아직 포함되지 않은 최신 기능이나 성능 개선 사항이 필요한 경우 소스 코드에서 직접 빌드하십시오.

다른 서버에 Redis를 노출해야 하는 경우 어떻게 보안을 유지해야 할까요?

개인 IP에 바인딩하고, 방화벽 허용 목록을 적용하고, 강력한 인증 또는 ACL을 요구하고, TLS를 활성화하십시오. 또는 다른 방법을 사용하십시오. SSH 터널 또는 프라이빗 VPC 피어링 연결.

어떤 Redis 영구 저장 모드를 사용해야 할까요?

캐시 전용의 경우 영구 저장을 비활성화하십시오. 큐 및 중요 상태의 경우 AOF(매초)를 활성화하고 주기적인 RDB 스냅샷을 유지하여 더 빠른 재시작을 보장하십시오. 복구 기능을 항상 테스트하십시오.

얼마 RAM 레디스에 할당해야 할까요?

Redis가 사용 가능한 메모리의 60~80%를 사용하도록 maxmemory를 설정하세요. RAM운영 체제 및 기타 서비스를 위한 여유 공간을 확보하십시오. 데이터 세트 크기, 오버헤드 및 예상 증가율에 따라 조정하십시오.

Redis가 WordPress 성능 향상에 도움이 되나요?

네. Redis를 통한 객체 캐싱은 데이터베이스 쿼리 횟수를 크게 줄이고 백엔드 응답성을 향상시킬 수 있으며, 특히 동적이거나 트래픽이 많은 사이트에서 효과적입니다. 최상의 결과를 얻으려면 전체 페이지 캐싱과 함께 사용하세요.

수 YouStable 설치하고 manage 저한테 Redis가 필요한가요?

전혀. YouStable's 관리형 VPS 및 전용 서버 Redis 설치, 보안 강화, 성능 튜닝 및 지속적인 모니터링이 포함되어 있으므로 애플리케이션 개발에 집중할 수 있습니다.

이러한 단계를 따르면 Linux 서버에 Redis를 안전하게 설치하고, 프로덕션 표준에 맞춰 보안을 강화하고, 데이터베이스, API 및 WordPress 사이트의 성능을 실질적으로 향상시킬 수 있습니다. 개인 정보 보호를 유지하고, 지속적으로 모니터링하며, 워크로드에 맞게 메모리와 영구 저장 용량을 최적화하세요.

공유 방법 :

프라흐라드 프라자파티

프라하드는 인도 출신의 웹 호스팅 전문가이자 SEO 중심의 유기적 성장 전문가입니다. 2019년부터 디지털 분야에서 활동하며, 깔끔하고 지속 가능한 전략을 통해 웹사이트 성장을 돕고 있습니다. 빠른 학습과 적응력을 중시하는 그는 작은 디테일이 큰 성공을 만든다고 믿습니다. 온라인 인지도를 높이는 데 도움이 되는 그의 웹 호스팅 및 SEO 관련 통찰력을 확인해 보세요.

코멘트 남김

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *

위쪽으로 스크롤