Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 웹 애플리케이션 아키텍처
- redis 외부설정
- Oracle.DatabaseError
- 웹 애플리케이션 요청 흐름
- 객체
- kafkaCLI
- apt-rdepends
- 도커
- image 압축
- abstract 제어자
- 예외 전가
- 폐쇄망
- SQL 내장 함수
- docker
- 특정 행
- 의존성 설치
- Port already in use: 9999
- redis 명령어
- 예측 범위 내의 요구사항
- Exception Handing
- 포함 관계
- 쿠버네티스 패턴
- redis 설정
- 의존성 패키지 설치
- ubuntu redis
- REST 성숙도 모델
- 선언적 배포
- 자료구조
- 오프라인 설치
- 특정 행 출력
Archives
- Today
- Total
리꾸므
26번째 발자국_Ubuntu를 통해 Redis 사용하기(feat. vi) 본문
SUMMARY
- 내가 어제 한것은 다 삽질! 그래도 도움은 되었다!
- 처음 생각한 로직
- ubuntu에 redis 설치 및 외부접속 허용
- GET
- Ubuntu에 Redis 설치하기
- Ubuntu에 설치한 Redis 외부접속 허용하기
- redis-cli 이용하여 값 확인하기
EXPERIENCE
- 로컬서버에서 redis를 통해 리프레시 토큰을 저장하고 사용했었다. 그럼 이제 배포할때는 어떻게...?
일단 처음 생각한 내용은 이렇다- redis 설정을 bind 0.0.0.0으로 모든 로컬에서 접근 가능하도록 승인
daemonize yes로 변경하여 백그라운드 실행 - 도커로 redis 가동
- properties에 host 설정하여 서버배포하여도 도커 redis 사용하도록 하기
- redis 설정을 bind 0.0.0.0으로 모든 로컬에서 접근 가능하도록 승인
- 일단 결론을 말하면 된다. 되긴 되는데, 그러면 내가 컴퓨터를 계속 켜놓아야하는거 아닐까?... 그때서야 내가 삽질을 거하게 했다는걸 알았다. 그래서 대체 방법을 찾았는데 총 세가지정도가 있었다.
- ec2 서버에 도커를 설치하여 거기서 redis 기동
- aws에 있는 ElastiCache로 redis 대체
- ec2서버에 redis를 설치해서 외부접속 허용
- 1번은 ec2에 굳이 도커를 설치하고 다시 redis 설치할 이유가 없다, 2번은 ec2내에서만 사용가능하다고 하길래 상관은 없지만 제외, 결국 3번으로 결정하고 구글링을 시작했다. 근데 계속 따라해도 안되네? 왜 안되지? 고민을 몇시간하면서 하다가 깨우친것은 구글링을 잘못했다는 것, 나는 ubuntu로 사용중인데 구글링에다가 'ec2에 redis 설치, 배포'를 검색했다.. 그러니 우분투가아니라 다른 centos 같이 다른 리눅스를 사용하는 내용만 나왔던거고 그때까지 리눅스는 다 똑같은 계열로만 본 나는 계속 따라하다가 안된거였다.
이후 바로 redis를 설치했다. 외부접속 관련하여 오류가 발생했지만 이 이야기는 오류 창고로!
GET
Ubuntu에 Redis 설치하기
순서대로 ubuntu에 입력하면 된다!
1. Ubuntu 업데이트
sudo apt update && sudo apt upgrade
2. 필수 패키지 설치
sudo apt install software-properties-common apt-transport-https curl ca-certificates gnupg2 curl -y
3. GPG 키 가져오기
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
4. 저장소 가져오기
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
5. 새 저장소 소스 반영하도록 소스 목록 업데이트
sudo apt-get update
6. Redis 설치, 설치가 되어있을 경우 업그레이드로 표시될 수 있음
sudo apt install redis -y
7. apt-cache 정책명령 redis.io 버전을 설치했는지 확인
apt-cache policy redis
8. 시스템 부팅 시 Redis 인스턴스를 활성화 설정
sudo systemctl enable redis-server --now
9. 오류없는지 확인
systemctl status redis-server
Active:부분이 active(running)으로 되어있으면 무사히 작동하고 있는 거다.
이제 설치는 완료되었으니 외부접속이 가능하도록 설정해보자.
Ubuntu에 설치한 Redis 외부접속 허용하기
1. redis.conf 파일 vi 편집으로 실행
sudo vi /etc/redis/redis.conf
1_1. 파일이 열리지 않는 경우
sudo chmod 755 redis.conf
2. 'bind 127.0.0.1'을 bind 0.0.0.0으로 편집( line 87 )
- /bind 하고 엔터 눌르면 검색, n눌르면 다음 차례로 넘어간다.
- bind 127.0.0.1에서 i 버튼 눌르면 입력모드로 변경, bind 0.0.0.0으로 변경
- esc를 눌러서 입력모드에서 읽기모드로 다시 돌아온다.
- 127.0.0.1은 내부, 로컬만 가능한 상태다. 0.0.0.0은 외부 ip도 접속이 가능하도록 허용한 것
- 검색이 안될경우 몇번째 줄에 있는지 항목 옆에 적어놓았으니 이걸로 오른쪽 하단에 적힌 줄보면서 찾아보자
3. 'maxmemory 500m, maxmemory policy allkeys-lru 변경( line 1119,14 / 1148.28)
- redis에서 사용할 수 있는 용량을 정해주자.
- 마찬가지로 /maxmemory로 검색
- 처음은 사용하지않게 주석처리되어있을텐데 #maxmemory에서 #를 삭제해 주석을 지워주면 된다.
- ubuntu 프리티어는 1G가 제공되기 때문에 500m로 설정해주면 된다.
- 이제 용량이 가득찰경우 오래된 파일을 지우도록 설정해보자
- maxmemory 항목에서 조금만 더 내리면 maxmemory policy가 바로 보인다.
- 이또한 #을 지워주고 policy 뒷부분을 allkeys-lru로 변경하면 된다.
4. Redis 비밀번호 설정( line 1036.1)
- 보호모드를 끄지않는한 외부 호스트를 허용해도 비밀번호가 없으면 접속이 안된다.
- /requirepass 검색 찾은 다음 i를 눌러 입력모드로 변경
- 주석을 지우고 'requirepass (비밀번호입력부분)' 비밀번호 입력부분에 본인이 원하는 비밀번호를 입력하자!
- esc를 눌러서 입력모드에서 읽기모드로 다시 돌아오면 끝!
5. 백그라운드 설정( line 309.13)
- 이 설정은 위의 순서를 따라와주었으면 당연하게도 백그라운드 설정이 되어있는거지만, 그래도 혹시 모르니깐! 확인해보자
- /daemonize 검색 찾은 다음 i를 눌러 입력 모드로 변경
- daemonize yes로 변경
- esc를 눌러서 입력모드에서 읽기모드로 돌아오면 끝!
6. redis.conf 파일 저장
- 읽기모드에서 :wq 입력하면 저장하면서 파일이 꺼진다.
- 만약 안될경우 :w!로 강제저장을 해주자. 이후 Ctrl+z로 빠져나오면 된다. 또는 wq!로 저장하고 나와도 된다.
7. redis 다시 실행
sudo systemctl restart redis-server
# Vi 편집기 명령어
입력모드 - i
입력모드 - a
왼쪽으로 이동 - h
아래로 이동 - j
위로 이동 - k
오른쪽으로 이동 - l
한 글자 삭제 - x
한 단어 삭제 - dw
한 줄 삭제 - ddn
번째 줄 삭제 - ndd
현재 커서 위치부터 끝까지 : D검색 - /(내용)
현재줄 복사하기 - yy
n번째 줄 복사하기 - nyy
붙여넣기 - p
undo(실행취소) - u
변경 사항을 저장하지 않고 종료 - :q!
저장 - :w
저장 후 종료 - :wq
저장 후 종료 - :ZZ
#20220928추가
redis-cli 이용하여 값 확인하기
- redis를 사용할때 안에 값이 잘들어오는지 궁금할때가 있다. 물론 그부분도 템플릿을 이용하여 해결하면 간편하지만 그전에 확인하고 싶을때, 그외 상황에서 내부값들을 확인하고싶을때를 위한 명령어를 추가한다.
1. redis cli 접속
redis-cli
2. redis cli 비밀번호 접속
AUTH (비밀번호)
- AUTH (비밀번호) 제출(ex: AUTH QWE1234)
- OK가 화면에 뜨면 잘제출된 것
3. set명령어로 key-value 데이터 입력
set [key] [value]
4. get명령어로 데이터 출력
get [key]
5. 저장된 key 검색
keys *검색어*
6.전체 key 조회
keys *
TOMORROW
- 카카오 소셜 로그인 기능 구현
- 인프런 강의 시청 및 정리
참고
사실 밑에 블로그가 정리 더 잘되어있다!
https://ko.linuxcapable.com/how-to-install-redis-on-ubuntu-20-04/
'발걸음 > 일지' 카테고리의 다른 글
[JAVA] 객체지향 프로그래밍 기초2(feat. static, 메서드) (0) | 2022.11.06 |
---|---|
[JAVA] 객체지향 프로그래밍 기초(feat. 클래스, 객체, 필드) (0) | 2022.11.04 |
25번째 발걸음_혼돈의 회원파트(feat.Redis,Docker) (0) | 2022.09.22 |
6주차_회고 (0) | 2022.09.11 |
24번째 발자국_애증의 깃 액션(feat.GitHub Action 자동배포) (0) | 2022.09.06 |