ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS - EC2에 Spring Boot 웹 프로젝트(WAR) 배포하기 (Filezila 사용)
    IT/AWS 2020. 5. 11. 15:50
    반응형

     

     

    안녕하세요.

    저희가 SpringBoot를 이용하여 웹서비스를 만들었습니다.

     

    이제 SpringBoot로 만든 웹 프로젝트를 AWS EC2 서버에 배포하여,

    AWS EC2 서버를 웹 서버로 사용해보려고 합니다.

     

    배포에 사용할 툴은,

    파일을 FTP로 전송할 수 있는 FileZila,

    EC2 터미널에 접속할 수 있는 PuttY 를 사용하겠습니다.

     

     

    SpringBoot 웹 프로젝트 생성과 AWS 관련하여 아래 내용 참고하시면 좋을 것 같아요.

     

    ■ AWS - EC2 생성 및 터미널 접속 : https://kshman94.tistory.com/9

    ■ AWS - RDS MySQL 생성 및 설정 : https://kshman94.tistory.com/17

    ■ Spring - Amazon RDS DB 연동 및 확인: https://kshman94.tistory.com/31

    ■ Spring - Ajax (비동기) 통신 (로그인 기능 및 List 출력) : https://kshman94.tistory.com/38

     

     

     

     

    그럼 시작하기전에,

    EC2 서버를 웹서버로 만들어주어야 겠지요?

     

     

    그러기 위해서는,

    첫번째로 자바를 설치해주어야 합니다.

    AWS EC2의 초기 자바 버전은 1.7 버전이므로 삭제하고 1.8 버전을 설치하겠습니다.

     

     

     

    1. JDK 1.8 버전 설치하기

     

    1) 초기 자바 버전 JDK 1.7 삭제

     

    sudo su - root
    yum remove java-1.7.0-openjdk

     

     

     

     

    2) JDK 1.8 버전 설치

     

    yum list 명령어를 이용하여 설치 가능한 java 버전을 확인합니다.

    만약 최신 버전이 없다면, yum update 실행하여 최신버전을 다운받아야 합니다.

     

    yum list java*jdk-devel
    
    yum listall -y java-1.8.0-openjdk-devel.x86_64
    
    java -version

     

     

     

     

     

    2. TOMCAT 설치 및 설정

     

    1)  TOMCAT 설치

     

    sudo yum install –y tomcat8
    sudo yum install tomcat8-admin-webapps
    sudo yum install tomcat8-webapps

     

     

     

    2) TOMCAT 설정

     

    cd /usr/share/tomcat8
    chgrp -R tomcat /usr/share/tomcat8
    chown -R tomcat webapps/ work/ temp/ logs/
    find conf webapps -type d -exec chmod 755 {} +
    find conf webapps -type f -exec chmod 644 {} +
    find logs temp work -type d -exec chmod 750 {} +
    find logs temp work -type f -exec chmod 640 {} +
    service tomcat8 restart

     

     

     

    3) TOMCAT 설치 확인

     

    요렇게 입력하면 아래와 같은 이미지가 나옵니다. 아래와 같은 이미지가 나오면 정상 설치가 됬습니다.

    현재는 페이지로 접속은 안됩니다. 그 이유는 아직 8080 포트를 Security Group에서 설정해주지 않았기 때문입니다.

    이제 8080 포트를 열어주러 가봅시다.

     

    curl http://127.0.0.1:8080

     

     

     

     

    4) EC2 8080 포트 Security Group 설정하기

     

    AWS 홈페이지에 접속하여, 인바운드 규칙 편집을 해줍니다.

    네트워크 및 보안 보안 그룹 → springboot-webservice 체크 → 인바운드 규칙 탭 클릭 →인바운드 규칙 편집

     

     

     

    어디서나 접근할 수 있도록 8080 포트를 열고, 규칙 저장을 클릭합니다.

     

     

     

    그리고 왼쪽 메뉴 탭에서 EC2 대시보드 클릭 실행 중인 인스턴스 하단 설명에 IPv4 퍼블릭 IP

    또는 퍼블릭 DNS (Ipv4)

     

     

     

     

    IPv4 퍼블릭 또는 퍼블릭 DNS (Ipv4) 확인하였으면,

    http://IPv4 퍼블릭 IP 또는 퍼블릭 DNS (Ipv4) :8080/ 를 입력하여 들어가면 요렇게 정상적으로 뜹니당 ! 

     

     

     

    3. Filezila 설치 및 설정

     

    파일질라 설치 홈페이지 : https://filezilla-project.org/download.php?type=client

     

    1) 사이트 관리자 추가하기

     

    파일 질라 설치 후, 상단 메뉴 탭 중 파일 클릭 → 사이트 관리자 클릭

    하면 요런 창이 나오게 됩니다. 

     

     

     

     

    호스트 = 톰켓 설정할 때와 같이 EC2 대시보드 클릭  실행 중인 인스턴스  하단 설명에 퍼블릭 DNS(IPv4) 입력

     

     

     

    로그온 유형 = 키 파일 

    키 관련해서는 요기 포스팅에 있습니다.

     

    https://kshman94.tistory.com/9

     

    AWS - EC2 생성 및 터미널 접속

    Spring Boot를 운영할 AWS 환경을 만들어 보려고 하는데 : ( AWS는 처음이라 많이 생소하고 어려운 것 같고 조심스네요,, 그럼에도 차근차근 하나씩 만들어가보려고 합니당. 이번 글에서는 EC2 생성 후

    kshman94.tistory.com

     

     

     

    요렇게 해서 접속을 하면,

    제가 생성한 EC2 서버에 접속을 하게 되는데용.

     

    이제 배포할 프로젝트를 FTP로 전송해보겠습니당 !! 

     

     

     

    4. 프로젝트 파일 배포

     

    배포할 프로젝트를 war 파일로 받아야 배포를 할 수 있으니,

    STS를 켜서 프로젝트 war로 말아봅시다.

     

     

    프로젝트 우클릭 → Export 클릭

     

     

     

    WAR file 선택 !

     

     

    위치를 선택하고,

    Export source files를 체크합니다.

    체크 하지 않으면 Export 시 java파일이 포함되지 않으니 꼭 포함해야 합니다. 그리고 Finish 클릭 ! 

     

     

     

    저와 같이 설치하셨다면,

    EC2 서버의 배포할 경로는 요기입니당.

    파일질라로 아래의 경로에 Export 한 War파일을 전송합니다.

     

    /usr/share/tomcat8/webapps

     

     

    업로드를 클릭하시거나, 더블클릭하시면 해당 경로로 파일이 전송됩니다.

     

     

     

     

    그러나, 오류가 발생하죠. 

    권한 오류로 인해 파일 전송 실패가 출력됩니다.

     

     

     

    그래서 기본으로 

    /home/ec2-user 디렉토리에 올리고, 터미널을 이용해 옮기도록 하겠습니다.

     

     

     

    이제 파일을 올렸으니, 파일을 이동시켜 보겠습니다.

     

    sudo mv springBoot-webSerivce.war /usr/share/tomcat8/webapps

     

     

     

    경로에 잘 옮겼는지 확인합니다.

     

     

     

    정상적으로 옮겨졌으니  톰켓 재기동 !

    sudo service tomcat8 restart

     

     

    짜잔

    웹에서 접속을 해보면 이렇게 정상적으로 홈페이지가 출력됩니다 :) 

     

    주소창에는 자신의 IP를 쓰셔도 되고, Amazon 퍼블릭 DNS (IPv4)를 쓰셔도 정상적으로 접근 됩니다.

    http://IP주소 또는 퍼블릭 DNS:8080/프로젝트명/페이지 

    요렇게 작성하셔서 접근하시면 됩니다.

     

     

     

     

    직접 만든 웹 프로젝트를 AWS EC2에 배포 해보았습니다.

    이제 웹 프로젝트를 수정하고 다시 올리더라도 문제 없이 올릴 수 있으시겠지요?!

     

    다음에는 Lamda를 연결하고 싶은데 금액이 청구될까 걱정이 되서..헤헤

     

    저는 이만 !

     

     

     

     

    반응형

    'IT > AWS' 카테고리의 다른 글

    AWS - AWS 시작으로 좋은 책 (도서 추천)  (2) 2020.07.07
    AWS - EC2 인스턴스 삭제  (3) 2020.05.21
    AWS - RDS MySQL 생성 및 설정  (7) 2020.04.27
    AWS - EC2 생성 및 터미널 접속  (0) 2020.04.24
    AWS - 계정 생성(회원가입)  (0) 2020.04.24

    댓글

Designed by black7375.