Vue.js로 만든 프론트엔드 프로젝트를 EC2에 배포하고, Nginxx를 통해 정적 파일을 서빙하는 방법을 정리했다.또한, 백엔드 API와 연동하는 설정 및 Swagger 접속 설정까지 포함했다. 1. 프로젝트 빌드EC2에 배포하기 전에 Vue 프로젝트를 빌드해야 한다.Vue 프로젝트 폴더에서 다음 명령어를 실행한다.npm run build 빌드가 완료되면 dist 폴더가 생성된다.이 dist 폴더 안에는 assets 폴더와 index.html 파일이 포함되어 있다. 이제 EC2 인스턴스의 Nginx root 경로로 파일을 옮겨야 한다.파일을 전송하는 방법은 scp 명령어를 사용하면 된다.여기에서 볼 수 있다. 2. Nginx 설치 및 설정1) Nginx 설치EC2 인스턴스에 인스턴스에 접속한 후 다..
Spring Boot 프로젝트를 EC2에 배포하는 방법을 단계별로 정리했습니다.IntelliJ를 사용하여 .jar 파일을 생성하고, EC2에 업로드한 후 실행하는 과정까지 상세히 설명합니다.1. Spring Boot를 .jar 파일로 만들기IntelliJ에서 Gradle을 사용하여 .jar 파일을 생성합니다.오른쪽 Gradle 창에서 해당 모듈을 선택Tasks → build → bootJar 실행build/libs 디렉토리에 .jar 파일이 생성됨2. .jar 파일을 EC2 서버에 옮기기EC2에 .jar 파일을 업로드하기 위해 scp 명령어를 사용합니다.먼저 서버에 등록된 공개키와 한 쌍인 사설키(private key)를 준비합니다.권한 설정chmod 400 private_key.pem ※ 권한이 너무 ..
Spring Cloud Config란? Spring Cloud Config는 분산 시스템에서 애플리케이션 설정을 중앙 집중식으로 관리하는 솔루션이다.환경별 설정을 관리하고, 변경 사항을 실시간으로 반영할 수 있다. 왜 사용할까? 애플리케이션마다 application.yml을 따로 관리하면 설정 변경이 번거로움마이크로서비스 환경에서 각 서비스의 설정을 중앙에서 통합 관리 가능Git 또는 로컬 파일 시스템을 설정 저장소로 활용 가능설정 변경 시 애플리케이션을 재시작하지 않고 실시간 반영 가능 사용법 1. Git private Repository 생성 후 SSH로 연결 window cmd창에서 아래 명령어 실행 ssh-keygen -t rsa -b 4096 -C "email" 실행하면 C:\User\사용..
1. 소개서킷 브레이커는 마이크로서비스 아키텍처(MSA)에서 서비스 장애로 인한 연쇄적인 실패를 방지하기 위한 패턴이다. 전기회로의 "회로 차단기(Circuit Breaker)" 개념에서 유래한 것으로, 특정 서비스가 장애가 발생했을 때 일시적으로 요청을 차단하여 전체 시스템이 무너지지 않도록 한다. 서킷 브레이커에서는 서비스의 상태를 아래의 3가지 상태로 구분한다. closed 정상적인 상태 open 장애가 발생해서 연결을 끊은 상태hided open 장애가 발생했는지 확인하는 상태 2. 사용 방법 Spring Boot에서는 Resilience4j 라이브러리를 사용하여 서킷 브레이커를 쉽게 구현할 수 있다. 1. 의존성 추가 build.gradleimplementation 'io.github.r..
Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]:오류 멀티 모듈 환경에서 타 모듈의 Entity나 Service, Repository를 참조해서 쓰려고 하는데 Bean 등록이 안됐다;; : Error creating bean with name 'userController': Lookup method resolution failed Description: Parameter 0 of constructor in com.example.admin.user.test.Us..
1. OpenFeign이란? OpenFeign이란 Spring Cloud에서 제공하는 선언적 HTTP 클라이언트이다.마치 인터페이스를 정의하듯이 API 호출을 할 수 있는 라이브러리입니다. 기존 RestTemplate이나 WebClient와 다르게, 인터페이스만 정의하면 자동으로 구현체를 만들어 주기 때문에 코드가 깔끔하고 유지보수가 편리하다. 2. OpenFeign을 사용하는 이유 1) 인터페이스만 정의하면 API 호출 가능 기존 RestTemplate은 다음과 같이 직접 HTTP 요청을 생성해야 한다.RestTemplate restTemplate = new RestTemplate();String response = restTemplate.getForObject("http://localhost:808..