[AWS를 이용한 시스템 설계 및 구축과 배포] 1. 단일 서버 배포 [ Spring boot + Thymeleaf + MySQL 배포 ] (영상 설명 한 번 읽어주세요)
- 스프링 부트 3와 타임리프를 이용한 웹 애플리케이션을 AWS 단일 서버에 배포하는 방법을 다룹니다. 🚀
- 개발 환경은 자바 21, MySQL 8 버전을 사용하며, 코드는 깃허브를 통해 공유됩니다. 💻
- 단일 서버 아키텍처는 구축 및 운영이 단순하지만, 단일 장애점과 확장성 제약이 존재합니다. ⚠️
- VPC, 인터넷 게이트웨이, 서브넷, 라우팅 테이블, 보안 그룹을 설정하여 AWS 인프라를 구축합니다. ☁️
- EC2 인스턴스를 생성하고, SSH를 통해 접속하여 자바 및 MySQL을 설치하고 환경 변수를 설정합니다. 🔑
- Gradle을 사용하여 프로젝트를 빌드하고, 생성된 JAR 파일을 실행하여 애플리케이션을 배포합니다. 📦
- 백그라운드 실행을 위해 JAR 파일을 OPT 디렉토리에 복사하고, nohup 명령어를 사용하여 실행합니다. ⚙️
- Systemd를 이용하여 애플리케이션을 서비스로 등록하고, 자동 재시작 기능을 설정합니다. 🔄
- Nginx를 설치하고 설정하여 80 포트로 들어오는 요청을 8080 포트로 리다이렉트합니다. 🌐
- HTTPS 설정을 위해 Let's Encrypt를 사용하여 SSL 인증서를 발급하고 Nginx에 적용합니다. 🛡️