CentOS 8에 Redis 서버를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- 센트OS 8
- 센트OS 7
이 페이지에서
- 전제 조건
- Redis 서버 설치
- Redis 캐시 구성
- 보안 Redis 서버
- 위험한 명령 이름 바꾸기\n
- 결론
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	D3Fs4%#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	D3Fs4%#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	D3Fs4%#df
다음으로 다음 명령을 사용하여 Redis 암호를 검색합니다.
127.0.0.1:6379> config get requirepass
다음 출력에서 Redis 암호를 가져와야 합니다.
1) "requirepass" 2) "A	D3Fs4%#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	D3Fs4%#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	D3Fs4%#df"
결론
축하합니다! CentOS 8에 Redis 서버를 성공적으로 설치하고 보호했습니다. 이제 애플리케이션을 호스팅하여 Redis 캐시를 사용하도록 구성할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.