본문 바로가기

Programming/AWS

[AWS] Spring 프로젝트를 AWS로 배포[4] war 파일로 배포

반응형

Step.1 / Eclipse로 war 파일 Export

 


1-1. Eclipse 프로젝트 우클릭/Export

1-2. Web/WAR file

1-3. Browse 클릭 -> war 파일 저장 경로 설정 및 war 파일 이름 입력

Step.2 / FileZilla로 war파일 업로드 후 배포

 


 

2-1. Tomcat 폴더의 webapps 안에 war 파일을 넣어야 한다.

2-2. FileZilla로 Tomcat 폴더의 webapps 안에 war 파일을 넣자.

2-3. 확실한 마무리를 위해 Tomcat 재시작 / cd/bin에서 ./shutdown.sh -> ./startup.sh

 

2-4. [EC2의 퍼블릭 IPv4 주소]:[포트번호]/[war 파일 이름] 으로 입력하면 배포 완료 확인 가능.

 

Notice

만약 메인 페이지만 정상적으로 출력되고 다른 페이지로 이동 시 404 에러가 발생한다면 서버의 tomcat이 설치된 폴더에서 conf로 이동, server.xml 파일을 열고 <Host> 항목 내부에 <Context> 항목이 추가되었는지 확인해봅니다. 원인은 다양하겠지만, 저의 경우 <Context> 항목을 통한 경로 설정을 누락해서 모든 요청 URL이 /[war 파일 이름/[요청 URL] 형태로 전송되었습니다. 이는 로컬 환경에서 구현한 매핑 URL 형태와 다릅니다. 그래서 404 에러가 발생한 것입니다.

 

이 말이 무슨 말인지 헷갈리고, 좀처럼 연상되지 않는다면 본인이 프로젝트를 구현한 IDE(저의 경우 이클립스)로 이동합니다. 그곳에는 분명 Tomcat 설정이 되어 있을 것이고 server.xml 파일 또한 존재할 것입니다. server.xml 파일을 열어서 <Host> 항목 내부에 <Context> 항목을 확인한 후 해당 내용을 복사해서 배포하는 서버의 Tomcat의 server.xml 내부에 붙여넣기 합니다. 위치는 <Host> 항목 내부의 <Context> 입니다.

반응형