데브허브 | DEVHUB | [AWS를 이용한 시스템 설계 및 구축과 배포] 5. Thyeleaf + Spring boot + MySQL 배포 (영상 설명 한 번 읽어주세요)[AWS를 이용한 시스템 설계 및 구축과 배포] 5. Thyeleaf + Spring boot + MySQL 배포 (영상 설명 한 번 읽어주세요)
- AWS EC2 인스턴스에 Thymeleaf, Spring Boot, MySQL 기반 프로젝트를 배포하는 과정을 다룹니다. ☁️
- GitHub 리포지토리에서 프로젝트를 클론하는 것으로 시작하며, AWS Ubuntu에는 Git이 기본 설치되어 있습니다. 🧑💻
- 프로젝트의
application.properties 파일을 생성하여 애플리케이션 이름, 데이터 소스(MySQL) 연결 정보 등 환경 변수를 설정합니다. ⚙️
- Gradle
clean build 명령어를 사용하여 프로젝트를 빌드하고 실행 가능한 JAR 파일을 생성합니다. 🏗️
- 초기
java -jar 실행 시 터미널 종료와 함께 프로세스가 종료되는 문제를 확인하고, 백그라운드 실행의 필요성을 강조합니다. ⚠️
systemd를 활용하여 애플리케이션을 백그라운드 서비스로 실행하고 부팅 시 자동 시작되도록 설정합니다. 🔄
/opt/single-server 및 /opt/single-server/logs 디렉토리를 생성하고 빌드된 JAR 파일을 복사합니다. 📁
/etc/systemd/system/single-server.service 파일을 생성하여 서비스 유닛을 정의하고, 실행 권한을 부여합니다. 📝
systemctl daemon-reload, systemctl start single-server, systemctl enable single-server 명령어를 통해 서비스를 관리합니다. ✅
systemctl status single-server로 서비스 상태를 확인하고, tail -n 100 /opt/single-server/logs/app.log로 로그를 조회하는 방법을 설명합니다. 📊
- 코드 변경 시 수동 재배포(pull, build, copy, restart) 과정을 설명하며, 이를 자동화하는 CI/CD 개념을 간략하게 소개합니다. 🚀