All of My Records

[AWS] war 파일 배포하기 :: 내가 만든 프로젝트 AWS를 통해 배포하기 6

by 캐떠린

AWS

오늘은 드디어 내가 만든 프로젝트를 war파일로 내보내기 하여 배포해볼 시간!!!

 

이번 배포는 Elasticsearch 검색 기능을 추가하지 않은채 배포하는 버전입니다!

Elasticsearch 검색 기능을 추가한 파일 배포에 대해서는 추후 다룰 예정입니다.

 

본격적으로 서버에 배포하기 전, 환경을 확인해보자.

 

1. MobaXterm 실행 → SSH Session창 열기

 

2. 환경 확인

1) Tomcat 동작 상태 확인

$ (sudo) systemctl status tomcat

 

2) Oracle 동작 상태 확인

$ (sudo) systemctl status oracle-xe

oracle 동작 여부 확인

 

3. 배포 전 설정

🖐️잠깐!!! *.war 파일로 내보내기 전 주의 사항
1. *.war 파일명contextroot명과 동일해야 한다.
2. web.xml에서 <multipart-config> 태그를 사용하여 파일 업로드 처리를 할 때, <location> 태그의 경로가 로컬 위치를 사용하는 경우, ubuntu 경로로 변경해야 한다.
3. root-context.xml에 기재된 DB 계정 주소, name, password를 기존 로컬 계정에서 AWS ubuntu server에 만든 oracle 계정으로 변경해야 한다. (물론 ubuntu server의 oracle 계정에도 테이블 생성 및 데이터를 추가해야 한다.)
4. 만약 Spring Security의 bcryptPasswordEncoder 클래스를 통해 비밀번호 암호화를 진행했다면, 새로 생성한 EC2 서버 내 DB에도 암호화를 진행 후 내보내기를 해야만 배포된 사이트에서도 로그인이 동작한다.
5. 만약 카카오맵 API를 사용하고 있다면, 카카오 개발자사이트(https://developers.kakao.com/) → 웹 플랫폼에서 사이트 도메인을 추가 등록해야 한다.
6. 웹 소켓을 사용했다면 웹 소켓 구현 부분에 작성한 IP 주소도 수정해야 제대로 동작한다.

 

1) AWS 홈페이지에서 EC2 인스턴스 서버의 IP 주소 확인(퍼블릭 IPv4 주소)

 

2) MobaXterm 실행하여 AWS ubuntu server DB hr 계정에 테이블 생성

 

3) root-context.xml 에 기재된 DB 계정 주소, name, password를 모두 기존에 입력해둔 local 정보에서 AWS ubuntu server에 만든 oracle 계정으로 변경(EC2 IP 주소, hr 계정 정보 입력)

위 사진은 아직 변경 전인데, localhost 위치에 EC2 인스턴스 IP 주소를 입력하면 된다. 아래 username, password에도 이전에 생성한 hr 계정의 정보를 입력한다.

 

4) (나는 Spring Security의 bcryptPasswordEncoder 클래스를 통해 비밀번호 암호화도 진행하였으므로) 암호화 진행

 

5) (나는 파일 업로드에 로컬 위치 경로를 사용하였으므로) web.xml <multipart-config> 태그의 <location> 경로 수정

 

6) (나는 카카오맵 API를 사용하였으므로) 카카오 개발자사이트 → 웹 플랫폼 사이트 도메인 추가 등록

 

 

7) (나는 웹 소켓을 사용하였으므로) 웹 소켓 구현 부분에 작성한 IP 주소 수정

IP주소는 EC2 인스턴스 IP 주소 입력

 

4. STS3를 열어서 완성된 프로젝트에 우클릭 → Export 클릭

 

5. WAR file로 내보내기 선택 후, Next

 

6. Browse를 클릭하여 내보낼 *.war 파일을 저장할 위치, 저장할 파일명을 입력한다.

 

7. 위에서 언급했듯이 파일명은 contextroot명과 동일해야 한다.

내 프로젝트의 contextroot명은 'dd'이므로 파일명도 'dd'로 입력한다.

 

8. 제대로 다 입력이 되었다면 Finish 클릭.

일정 시간 후 선택한 경로에 war 파일이 다운로드 된다.

 

9. MobaXterm에서 SFTP 세션창을 열어서 아래 경로에 *.war파일을 추가한다.

# 경로
/opt/tomcat/apache-tomcat-9.0.86/webapps

 

10. 약간의 시간이 지나고(약 1-2분) 주소창에 주소 입력 시, 배포한 웹 페이지 확인이 가능하다🙂

- 주소: IP주소:포트번호/프로젝트주소

 

 

배포 끝~~~!!!

이제 위의 링크 공유 시 가족이나 친구들도 내가 만든 사이트에 접속해서 구경할 수 있다!!! 유후

 

Elasticsearch를 사용하여 검색 기능을 구현한 경우에도, 위 과정에서 몇가지만 추가된다.

 

EC2 우분투 서버에 현재 오라클 까지만 설치했지만, Elasticsearch, Kibana, Logstash를 추가로 설치해주고 형태소 검색에 필요한 노리 형태소 분석기 등을 설치하고 몇가지 추가 설정 후에 배포하면 된다!

 

해당 부분은 Elasticsearch 관련 포스팅을 끝낸 후 추후 업로드할 예정이다:)

 

*글 작성에 참고한 내용: 학원 쌤의 열정적인 수업

블로그의 정보

All of My Records

캐떠린

활동하기