웹사이트 검색

CentOS 8에 Redis 서버를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 센트OS 8
  • 센트OS 7

이 페이지에서

  1. 전제 조건
  2. Redis 서버 설치
  3. Redis 캐시 구성
  4. 보안 Redis 서버
  5. 위험한 명령 이름 바꾸기\n
  6. 결론

Redis는 다양한 종류의 데이터 구조를 지원하는 무료 오픈 소스 메모리 내 키-값 저장소입니다. 데이터베이스, 캐시, 메시지 브로커 및 대기열로 사용할 수 있습니다. 고성능 및 확장 가능한 웹 응용 프로그램을 구축하는 데 사용됩니다. Java, PHP, C, Perl, Python, C#, Lua, Go 등과 같은 광범위한 프로그래밍 언어를 지원합니다. 크로스 플랫폼이며 Linux, *BSD 및 OS X를 포함한 대부분의 Unix 기반 운영 체제에서 작동합니다.

이 튜토리얼에서는 CentOS 8 서버에 Redis를 설치하는 방법을 설명합니다.

전제 조건

  • CentOS 8을 실행하는 서버.\n
  • 루트 암호는 서버에 구성됩니다.\n

Redis 서버 설치

기본적으로 Redis 패키지는 CentOS 8 기본 리포지토리에서 사용할 수 있습니다. 다음 명령을 실행하여 설치할 수 있습니다.

dnf install redis -y

Redis 서버를 설치한 후 Redis 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start redis
systemctl enable redis

다음 명령을 사용하여 Redis 서버의 상태를 확인할 수도 있습니다.

systemctl status redis

다음과 같은 결과가 표시되어야 합니다.

   Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/redis.service.d
           ??limit.conf
   Active: active (running) since Tue 2020-09-15 04:52:54 EDT; 6s ago
 Main PID: 3076 (redis-server)
    Tasks: 4 (limit: 12527)
   Memory: 6.6M
   CGroup: /system.slice/redis.service
           ??3076 /usr/bin/redis-server 127.0.0.1:6379

Sep 15 04:52:54 centos8 systemd[1]: Starting Redis persistent key-value database...
Sep 15 04:52:54 centos8 systemd[1]: Started Redis persistent key-value database.

기본적으로 Redis는 포트 6379에서 수신 대기합니다. 다음 명령으로 확인할 수 있습니다.

ss -ant | grep 6379

다음과 같은 결과가 표시되어야 합니다.

LISTEN     0        128             127.0.0.1:6379              0.0.0.0:*       

다음으로 다음 명령을 사용하여 Redis 연결을 테스트합니다.

redis-cli

다음 출력이 표시되어야 합니다.

127.0.0.1:6379>

이제 다음 명령을 실행하여 연결을 확인하십시오.

127.0.0.1:6379> ping

다음 출력이 표시되어야 합니다.

PONG

Redis 캐시 구성

다음으로 Redis를 캐싱 서버로 구성해야 합니다. Redis 구성 파일을 편집하여 이를 수행할 수 있습니다.

nano /etc/redis.conf

파일 끝에 다음 줄을 추가합니다.

maxmemory 128mb
maxmemory-policy allkeys-lru

완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 Redis 서비스를 다시 시작합니다.

systemctl restart redis

안전한 Redis 서버

기본적으로 redis-cli를 사용하면 Raedis 셸 내에서 모든 명령을 실행할 수 있습니다. 따라서 비밀번호로 Redis 셸을 보호하는 것이 좋습니다. /etc/redis.conf 파일을 편집하여 암호 인증을 활성화할 수 있습니다.

nano /etc/redis.conf

다음 줄을 찾으십시오.

# requirepass foobared

그리고 다음 줄로 바꿉니다.

requirepass A&#9D3Fs4%#df

완료되면 파일을 저장하고 닫습니다. 그런 다음 Redis 서비스를 다시 시작하여 구성 변경 사항을 적용합니다.

systemctl restart redis

이제 다음 명령을 사용하여 Redis에 연결합니다.

redis-cli

연결되면 다음 명령을 실행합니다.

127.0.0.1:6379> INFO server

인증하지 않았기 때문에 다음 오류가 발생합니다.

NOAUTH Authentication required.

이제 다음 명령을 실행하여 Redis 구성 파일에 지정된 암호로 인증합니다.

127.0.0.1:6379> AUTH A&#9D3Fs4%#df

다음 출력이 표시되어야 합니다.

OK

이제 다음 명령을 실행합니다.

127.0.0.1:6379> INFO server

다음과 같은 결과가 표시되어야 합니다.

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:28849dbea6f07cc8
redis_mode:standalone
os:Linux 4.18.0-193.14.2.el8_2.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.1
process_id:3176
run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87
tcp_port:6379
uptime_in_seconds:41
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:6324712
executable:/usr/bin/redis-server
config_file:/etc/redis.conf

완료되면 다음 단계로 진행할 수 있습니다.

위험한 명령 이름 바꾸기

또한 Redis 셸 내에서 일부 위험한 명령의 이름을 바꾸는 것이 좋습니다. 위험한 명령 중 하나는 "config"입니다. Redis 비밀번호를 검색하는 데 사용됩니다.

"config" 명령으로 Redis 암호를 검색하는 방법을 살펴보겠습니다.

먼저 다음 명령을 사용하여 Redis에 연결합니다.

redis-cli

연결되면 다음 명령을 사용하여 Redis를 인증합니다.

127.0.0.1:6379> AUTH A&#9D3Fs4%#df

다음으로 다음 명령을 사용하여 Redis 암호를 검색합니다.

127.0.0.1:6379> config get requirepass

다음 출력에서 Redis 암호를 가져와야 합니다.

1) "requirepass"
2) "A&#9D3Fs4%#df"

/etc/redis.conf 파일을 편집하여 "config" 명령의 이름을 바꿀 수 있습니다.

nano /etc/redis.conf

다음 줄을 찾으십시오.

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

그리고 다음 줄로 바꿉니다.

rename-command CONFIG hitredis

파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 Redis 서비스를 다시 시작합니다.

systemctl restart redis

이제 다음 명령을 사용하여 Redis를 연결하고 인증합니다.

redis-cli
127.0.0.1:6379> AUTH A&#9D3Fs4%#df

이제 "config" 명령을 사용하여 Redis 암호를 검색합니다.

127.0.0.1:6379> config get requirepass

다음 오류가 표시됩니다.

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

이제 아래와 같이 이름이 바뀐 명령을 실행합니다.

127.0.0.1:6379> hitredis get requirepass

다음 출력에서 Redis 암호를 가져와야 합니다.

1) "requirepass"
2) "A&#9D3Fs4%#df"

결론

축하합니다! CentOS 8에 Redis 서버를 성공적으로 설치하고 보호했습니다. 이제 애플리케이션을 호스팅하여 Redis 캐시를 사용하도록 구성할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.