🍏 개발일기

GitHub Pages 다음 단계: WAR 파일과 EC2로 서버 배포 이해하기

보배 진 2026. 1. 18. 21:26

이전 블로그에서 배포한 것을 보면 테스트였기도 하지만

정적 사이트로 배포를 했기 때문에 jsp가 안되는 상황이었다

GitHub Pages는 정적 전용

- JSP X

- Servlet X

- DB X

 

이제 API + DB 연결 → 동적 기능 추가를 할 차례이다

 

1️⃣ EC2 + Tomcat (정석 / 실무형)

  • WAR 배포
  • 제일 깔끔
  • 회사에서 쓰는 방식

그런데 이전에 지금까지 한 것에 대해서 정리를 하려고 한다

1️⃣ GitHub에 코드 올림 (Push) : 버전 관리 시작

2️⃣ GitHub Actions 실행 : 자동화 경험

3️⃣ GitHub Pages로 배포 : 정적 호스팅 실습

 

이제 오너블리 프로젝트를 EC2 + Tomcat 환경에서 실제 서비스 형태로 배포하려고 한다.

 

 

정리하면,,, 

초기에는 GitHub Pages로 정적 배포를 먼저 진행했고,
이후 서버가 필요한 구조라 판단해서 EC2 + Tomcat으로 배포 방식을 전환하려고 하는 것이다..


✅ EC2 + Tomcat = API + DB가 돌아갈 ‘서버 환경’

API + DB 연결을 하기 위한 방법으로 EC2 + Tomcat을 사용하려고 한다

[오너블리 코드]
 ├─ Servlet (API 역할)
 ├─ JDBC (DB 연결)
 └─ JSP (응답 화면)

이걸 실행시킬 공간이 필요함
        ↓
[EC2 + Tomcat]

 

 

먼저 개념 정리 부터 하면

WAR 파일 : 웹 프로젝트를 서버에 올리기 위한 “배포용 압축 파일”

예를 들어 오너블리는 Servlet, JSP, HTML, CSS, JS, lib(JAR) 이 전부 한 덩어리여야 서버에서 실행된다

이걸 그냥 폴더째로 올리기엔 서버(Tomcat)가 어디서부터 실행해야 할지 모른다

그래서 톰캣이 알아듣는 형태로 묶은게 WAR 이다

WAR 파일 = 포장된 도시락

 

EC2 생성은 : 24시간 켜져 있는 서버 컴퓨터를 빌리는 것

예를 들어 오너블리는 JSP 실행해야 하고, DB 연결, 사용자 요청도 받아야 한다

이건 내 PC에서만 돌리면 의미가 없기 때문에 항상 켜져 있는 서버가 필요하다

그래서 집 컴퓨터가 아닌 EC2가 필요하다

 

 

오너블리 프로젝트
   ↓ (Export)
WAR 파일 생성
   ↓ (Upload)
EC2 서버
   ↓ (Deploy)
Tomcat 실행
   ↓
API + DB 동작

 

👉 WAR = 올릴 물건
👉 EC2 = 올릴 장소

 

 

지금부터 WAR 파일 생성과 E2C 생성을 하면 된다