기존에 인스턴스의 SSH 에 접속해서 Docker 을 설치한 후 NGINX 이미지를 다운받아 컨테이너로 실행시켰다.
sudo su 명령어를 통해 관리자 권한으로 명령어를 검색했다.
NGINX 서버로 접속
docker exec -it nginxserver bash
nginxserver container 로 들어가 접근했다.
ls 를 입력해서 파일들을 확인
cd etc/ Tab 을 두번 누르면 안에 있는 파일들을 볼 수 있다.
cd etc/ nginx/conf.d
vim default.conf 명령어를 입력해서 default.conf 파일 수정을 시도하면
vim: command not found 문구가 뜬다.
docker container 는 vim editor 가 설치되어있지 않기 때문이다.
VIM 설치
apt-get update
apt-get install vim
vim 설치 완료
vim d 까지 입력하고 Tab 키를 누르면 자동완성
vim default.conf
입력모드 i or a 를 입력하면 편집모드
esc 누르면 풀리고
d 삭제모드
default.conf 에서 나가고 싶으면 :q
:q! 강제나가기
:w 저장
:wq 저장하고 나가기
esc 누른 상태에서 u 를 누르면 뒤로 이동함
제일 상단에 위와 같이 인스턴스 프라이빗 IP 주소와 함께 입력
로드밸런싱을 하려면 여기에 포트를 추가로 입력하면 됨
저장된 환경변수 값을 가져오고 세팅하는 것
include 이용해서 해당 위치에 파일 하나 만들어줌
거기에 service url 이라는 환경변수를 가지고 값을 넣어줄거임
blue 면 http://blue 로 바뀜
그럼 blue 에 해당하는 ip 주소를 가져오고
green 이면 green 에 해당하는 녀석으로 가져옴
그래서 유동적으로 service_url 변수를 만든거고 이 변수에 대한 값은 위 파일 위치에 넣어둔다는 말임
:wq 로 저장하고 나감
vim service-env.inc
해당 파일 만들고
set $service_url green;
:wq
cat service-env.inc
cat default.conf
include 를 통해서 service-env 파일을 가져오고
그럼 green 인 걸 읽어서 $service_url 에 green 이 들어가게 됨.
탄력적 ip 에 접속하면 ubuntu 안에 있는 nginx 서버로 접속을 함
그럼 proxy pass 를 통해서 한 번 거치게 되는데 green 일때는 8081 한 곳으로,
blue 일때는 다른 포트 8080 로 이동시킬것이다.
무중단 배포를 하기 위함이다.
8080이 실행되고 있다가 프로그램을 수정하거나 기능을 추가할 때 서버가 중단되었다가 켜진다.
예를 들어서 8080 blue 서버에서 로그인 기능을 추가하고자한다.
8081 green 에 로그인 기능을 추가한 걸 업데이트하고 정상적으로 동작하면
blue 로 가던걸 green 으로 가게 한다.
그럼 blue 가 연결이 끊길것이고 그 때 서버를 업데이트.
이후 다시 blue 로 연결을 시켜서 무중단 배포가 가능해진다.
'컴퓨터 프로그래밍 > Memo' 카테고리의 다른 글
[Memo] NGINX 사용을 위한 yml 세팅 (0) | 2024.11.10 |
---|---|
[내배캠] Spring Project 24조 뉴스피드 프로젝트 팀 KPT 회고 (2) | 2024.10.18 |
[내배캠] Spring Project 20조 아웃소싱 프로젝트 팀 KPT 회고 (1) | 2024.09.28 |
[내배캠] Spring Project 22조 뉴스피드 프로젝트 팀 KPT 회고 (0) | 2024.09.09 |
[내배캠] Java Project 22조 내배캠 회원관리 프로젝트 팀 KPT 회고 (0) | 2024.08.08 |