포트폴리오/AWS CICD

무중단 배포(nginx)

서버관리자 페페 2024. 5. 2. 21:14

 

1.nginx -> springboot 프록시 테스트 ec2에 nginx 설치
ngingx config에 80포트 -> 8081 스프링부트 포트로 전달
profile API 추가  2. 8081 <-> 8082 API 만들기
profile API 테스트
SecurityConfig test -> antmatcher가 없으니 별도 진행x
nginx에 로케이션 변수 넣어주기
3. 배포 스크립트 작성 profile.sh
stop.sh
start.sh
health.sh
switch.sh
pom.xml에 자동 버전 변경 추가 4. 테스트

 

 

sudo service nginx start

-> ec2에서는 정상 실행되지만 아무것도 안 뜬다

-> ec2 인바운드 규칙 추가

-> nginx는 기본 포트가 80도메인이므로 포트번호 안쓰고 접속 -> 엔진엑스 메인화면 확인

 

 

 

 

권한 별도 수정없이 vim 내부에서 가능

참고 : https://stackoverflow.com/questions/8253362/etc-apt-sources-list-e212-cant-open-file-for-writing

 

 

****-> 앞에 sudo를 붙이고 실행하는 거랑 안붙이고 실행하는 차이.

80 -> 8081 리디렉션 설정했으나 안됨

8081은 정상적으로 돌아가는중

 

-> conf 파일을 sudo nginx -t로 양식 검증할 수 있음

작동안한 게 아닌 원래 메인컨트롤러가 없었다. -> 404 나오는게 정상?

 

8080으로 쏴주면 안되는 것 맞음 

 

로컬에서 메인컨트롤러 만들고 작동 확인했으나 배포 후 작동 안되어

우선 해당 코스페이지로 리디렉션 되나 확인 -> 정상작동

 

-

ProfileController 만들기

 

테스트 - > Assertions 임포트 주의

 

 

로컬에서 테스트완

 

-

 

포트 다른 프로퍼티 2개 추가

 

nginx에서 변수로 url변경할 수 있도록 추가

 

변수 제대로 읽어오는지 리스타트-확인완

 

-

 

appspec.yml 작성

쉘스크립트 작성

 

ec2에서 코드플레이 로그확인

tail -f /opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log

tail -f -n 20 /opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log

 

'포트폴리오 > AWS CICD' 카테고리의 다른 글

Travis CI + S3 + Codeplay  (0) 2024.05.02
EC2 배포  (0) 2024.05.01
터미널 명령어  (0) 2024.05.01
EC2 RDS 연결  (0) 2024.04.30
EC2 개설  (0) 2024.04.30