AWS 배포
- 프리티어 1인스턴스 이므로 백엔드 배포는 개인서버에 진행하였으며 프론트 배포만 진행함
1. EC2 인스턴스 생성
- free tier 우분투 22.04LTS 로 진행
- SSH 접속용 키 생성 후 인스턴스 생성
- pem 으로 생성 한다.
- SSH 설정 및 프리티어 용량 최대치인 30 으로 설정뒤 인스턴스 생성 진행
- 인스턴스 대시보드로 생성한 인스턴스가 실행중인지 확인한다.
2. SSH 접속
- 키등록 후 다운로드 받은 pem 파일을 putty 접속을 위해 putty key 파일로 변경진행
- puTTy key Generator 로 pem 을 ppk 로 변환한다.
- key 파일을 putty에 등록 해준다
- 등록 후 계정@주소 로 접속한다.
3. Nginx 설치
4. CORS 설정
- 백엔드 WebMvcConfig 파일에 allowedOriginPatterns 허용할 주소 AWS 퍼플릭 주소를 넣어준다.
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
private final long MAX_AGE_SECS = 3600;
@Override
public void addCorsMappings(CorsRegistry registry){
// 모든 경로 매핑
registry.addMapping("/**")
// 허용주소
.allowedOriginPatterns("http://ec2-43-202-189-205.ap-northeast-2.compute.amazonaws.com","http://localhost:3000","http://192.168.0.101:3000","http://roalwh.iptime.org:20103")
// .allowedOriginPatterns("*")
.allowedMethods("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS")
.allowedHeaders("*")
.allowCredentials(true)
.maxAge(MAX_AGE_SECS);
}
}
5. 배포 파일 업로드
- SFTP 를 이용하여 빌드파일 업로드 진행
6. Nginx 설정
- Nginx 설정 경로 "/etc/nginx"
- 실행 시 퍼미션 에러 방지를 위해 실행주체를 root 로 변경
- sites-available 디렉터리에 todo.conf 생성
- sites-available 디렉터리에 생성한 todo.conf 파일을 sites-enabled 디렉터리안에 링크 파일로 생성
- Nginx 서비스 재시작 하여 테스트 진행
ec2-43-202-189-205.ap-northeast-2.compute.amazonaws.com
- 회원가입, 로그인 , Todo 등록 등 기능 테스트 진행
'개인 포트폴리오 > TodoList' 카테고리의 다른 글
TodoList 프로젝트 - Spring Security, JWT 설정 (0) | 2023.10.19 |
---|---|
TodoList 프로젝트 - Spring Security, JWT 설정 (0) | 2023.10.19 |
TodoList 프로젝트 - User 로그인/회원가입 API (0) | 2023.10.19 |
TodoList 프로젝트 - Todo메인 API (0) | 2023.10.18 |
TodoList 포트폴리오 (0) | 2023.10.18 |