상황 : npm, yarn 은 가능하여 yarn add redis로 client는 설치.
//Redistest.js
const redis = require('redis')
const client = redis.createClient();
client.on('error', err=>console.log(err));
client.connect();
node Redistest.js
connect ECONNREFUSED 127.0.0.1:6379 에러발생
=> redis-server 가 해당 포트로 실행되고 있지 않아서임.
redis server 를 가동해줘야 하는데, npm package에 있는 redis-server는 무슨 이유에서인지 잘되지 않음..
CentOs package로 설치 진행.
*가능한 방법
1) rpm 파일을 들여와서 rpm -i [패키지명]으로 설치
2) tar.gz 파일을 들여와서 tar zxvh [패키지명] 으로 설치
3) yum install [패키지명] -> 제일 간단.
yum install redis
해줬으나
no Package redis available
=> epel-release를 설치해줘야 함
*epel-release는 Yum의 확장된 저장소라고 합니다.
yum install epel-release
no Package epel-release available
이건 또 무슨 일인가...
구글링 해보니 오프라인이라 그렇다고.. 한다..
어쩔 수 없이 epel-release는 물리적 파일을 들여오는 수밖에..
https://docs.fedoraproject.org/en-US/epel/
여기에서
epel-release-latest-7 설치한 다음
rpm -Uvh epel-release-latest-8.noarch.rpm
으로 설치
이후 yum install redis 가 가능
*redis서버를 시작
systemctl start redis
systemctl enable redis
redis-cli ping
=> pong :성공!!!!
간단하게 set, get 테스트하니 잘된다ㅠ
MemoryDB 특성상 서버가 내려가면 다 잃을 수 있기 때문에 Persistence 설정을 해줘야 한다.
AOF(Append Only File)
redis-cli에 bgrewriteaof라는 명령어를 수행 시 수행 시점으로 부터 입력, 수정, 삭제되는 데이터를 모두 저장합니다.
conf 파일에 다음과 같은 문구를 추가해 줍니다.
appendonly yes
https://velog.io/@wodyd202/Redis-Persistence
*appendonly.aof의 경로는 /var/lib/redis 에 있음.
완전히 offline 환경이라면
yum 명령어도 되지 않는다..
rpm 뿐인데, 인터넷 연결이 되는 곳에서 redis 패키지 및 이에 필요한 dependency 패키지들을 같이 설치해줘야 한다.
repoquery -R --resolve --recursive <name> | xargs -r yumdownloader
<name> 에 redis 를 넣으면 dependency rpm 들이 쭉 다운로드 될텐데 이 파일들을 오프라인 환경으로 옮긴 뒤
한 군데에 모아놓고 (필자는 yums 라는 디렉토리)
cd yums..
rpm -Uvh *.rpm 을 하면 된다. 아니 될지도 모른다.
나는 안됐기 때문에
yum localinstall *rpm
을 하니 됐다!
'Back-End' 카테고리의 다른 글
프로그래머스 우리싸인 API 서버 개발 과제분석 (0) | 2023.08.05 |
---|---|
es6 문법으로 refactoring하기 (0) | 2023.07.30 |
Installation of Yarn Berry on Network Disconnected Environment (0) | 2023.06.14 |
[Ubuntu] Npm install 에러 (1) | 2023.05.07 |
PM2를 사용해 PUSH서버 구축하기 (0) | 2023.04.04 |