웹사이트 검색

CentOS 및 Debian 기반 시스템에 Redis 서버를 설치하는 방법


Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 오픈소스, 고성능 및 유연한 인메모리 데이터 구조 저장소(키-값 형식)입니다. 이는 ANSI C로 작성되었으며 외부 종속성 없이 Linux(배포 권장)를 포함한 대부분의 Unix 계열 운영 체제에서 실행됩니다.

기능이 풍부하고 문자열, 해시, 목록, 집합, 범위 쿼리가 포함된 정렬된 집합, 비트맵 등을 포함한 여러 프로그래밍 언어 및 데이터 구조를 지원합니다.

레디스 기능:

  • C, Bash, Python, PHP, Node.js, Perl, Ruby를 포함한 대부분의 프로그래밍 언어를 지원합니다.
  • 고유한 복제, Lua 스크립팅, LRU 제거, 트랜잭션은 물론 다양한 수준의 온디스크 지속성을 갖추고 있습니다.
  • Redis Sentinel을 통해 고가용성을 제공하고 Redis Cluster를 통해 자동 파티셔닝을 제공합니다.
  • 원자적 작업 실행을 지원합니다.
  • 인메모리 데이터 세트와 함께 작동하여 놀라운 성능을 달성합니다.
  • 간단한 설정 마스터-슬레이브 비동기 복제를 지원합니다.
  • 자동 장애 조치를 지원합니다.
  • 특정 기간 동안 데이터 세트를 디스크에 가끔 저장하거나 각 명령을 로그에 추가하여 저장할 수 있습니다.
  • 선택적으로 지속성을 비활성화할 수 있습니다.
  • 게시/구독 메시징을 지원합니다.
  • 또한 MULTI, EXEC, DISCARD 및 WATCH 트랜잭션 등을 지원합니다.

요구사항:

  1. 최소 설치가 포함된 CentOS 7 서버 및 RHEL 7 서버
  2. 최소 설치가 포함된 Ubuntu 서버 또는 Debian 서버
  3. GCC 컴파일러와 libc

이 튜토리얼에서는 Linux의 소스에서 Redis 서버를 설치하는 방법(권장 방법)에 대한 지침을 제공합니다. 또한 Redis를 구성, 관리 및 보호하는 방법도 보여드리겠습니다. Redis는 메모리의 모든 데이터를 제공하므로 이 가이드에서는 대용량 메모리 VPS 서버를 사용하는 것이 좋습니다.

1단계: 소스에서 Redis 서버 설치

1. 먼저 필요한 빌드 종속성을 설치합니다.

--------------- On CentOS / RHEL / Fedora --------------- 
yum groupinstall "Development Tools"
dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
sudo apt install build-essential

2. 그런 다음 wget 명령을 사용하여 항상 최신 안정 Redis를 가리키는 특수 URL을 사용하여 최신 안정 Redis 버전을 다운로드하고 컴파일합니다.

wget -c http://download.redis.io/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis-stable
make 
make test
sudo make install

3. Redis 컴파일 후 Redis 배포판 내의 src 디렉터리는 Redis의 일부인 다음과 같은 다양한 실행 파일로 채워집니다.

  • redis-server – Redis 서버.
  • redis-sentinel – redis sentinel 실행 파일(모니터링 및 장애 조치).
  • redis-cli – Redis와 상호작용하는 CLI 유틸리티입니다.
  • redis-benchmark – Redis 성능을 확인하는 데 사용됩니다.
  • redis-check-aofredis-check-dump – 드물지만 데이터 파일이 손상된 경우에 유용합니다.

2단계: Linux에서 Redis 서버 구성

4. 다음으로 init 시스템(이 튜토리얼의 목적은 systemd)에서 관리할 개발 환경에 맞게 Redis를 구성해야 합니다. . Redis 구성 파일과 데이터를 저장하는 데 필요한 디렉터리를 만드는 것부터 시작하세요.

sudo mkdir /etc/redis
sudo mkdir -p /var/redis/

4. 그런 다음 제공된 템플릿 Redis 구성 파일을 위에서 만든 디렉터리에 복사합니다.

sudo cp redis.conf /etc/redis/

5. 이제 구성 파일을 열고 다음과 같이 몇 가지 설정을 업데이트합니다.

sudo vi /etc/redis/redis.conf

6. 다음으로 다음 옵션을 검색한 후 로컬 환경 요구 사항에 따라 기본값을 변경(또는 사용)합니다.

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

3단계: Redis 시스템 단위 파일 생성

7. 이제 다음 명령을 실행하여 데몬을 제어하기 위해 Redis용 시스템 단위 파일을 생성해야 합니다.

sudo vi /etc/systemd/system/redis.service

그리고 아래 구성을 추가하세요.

[Unit]
Description=Redis In-Memory Data Store
After=network.target

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

[Install]
WantedBy=multi-user.target

파일을 저장하고 닫습니다.

4단계: Linux에서 Redis 서버 관리 및 테스트

8. 필요한 모든 구성을 수행한 후에는 이제 Redis 서버를 시작할 수 있습니다. 지금은 시스템 부팅 시 자동으로 시작되도록 활성화합니다. 다음과 같이 상태를 확인하세요.

sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis

9. 다음으로 전체 Redis 설정이 제대로 작동하는지 테스트합니다. Redis 서버와 상호작용하려면 redis-cli 명령을 사용하세요. 서버에 연결한 후 몇 가지 명령을 실행해 보세요.

redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. 그런 다음 exit 명령으로 연결을 닫고 Redis 서버를 다시 시작합니다. 그런 다음 아래와 같이 mykey가 아직 서버에 저장되어 있는지 확인하세요.

127.0.0.1:6379> exit
sudo systemctl restart redis
redis-cli
127.0.0.1:6379> get mykey

11. 키를 삭제하려면 다음과 같이 삭제 명령을 사용하세요.

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

5단계: Linux에서 Redis 서버 보안

12. 이 섹션은 인터넷과 같은 외부 네트워크에 연결된 Redis 서버를 사용하려는 사용자를 위한 것입니다.

중요: 보안 없이 Redis를 인터넷에 노출하면 악용하기가 매우 쉽습니다. 따라서 다음과 같이 Redis 서버를 보호하십시오.

  • 방화벽이 있는 시스템의 Redis 포트에 대한 연결을 차단합니다.
  • 루프백 인터페이스에 대한 바인딩 지시문 설정: 127.0.0.1
  • 클라이언트가 AUTH 명령을 사용하여 인증하도록 요구하도록 requirepass 옵션을 설정하십시오.
  • Redis 서버와 Redis 클라이언트 간의 트래픽을 암호화하도록 SSL 터널링을 설정합니다.

자세한 사용법 정보를 보려면 아래 명령을 실행하세요.

redis-cli -h

Redis 홈페이지(https://redis.io/)에서 더 많은 서버 명령을 찾아보고 애플리케이션 내에서 Redis를 사용하는 방법을 알아볼 수 있습니다.

이 튜토리얼에서는 Linux에서 Redis를 설치, 구성, 관리 및 보호하는 방법을 보여주었습니다. 생각을 공유하려면 아래 의견 양식을 사용하세요.