[AWS] EC2 서버에 프로젝트 배포하기 (war 파일)

진예·2023년 11월 17일
0

Infra

목록 보기
4/7
post-thumbnail
post-custom-banner

☑️ 본격적으로 프로젝트를 배포하기 전에 웹 서버 설치 + 실행한 상태여야 함! 자세한 내용은 EC2 웹 서버 구축 참고!


💡 war 파일 배포하기

  1. Tomcat 접속 ➡️ Core ➡️ tar.gz 우클릭 후 링크 주소 복사 ➡️ MobaXterm에 wget '복사한 주소 붙여넣기 (우클릭 후 Paste)' 입력 후 실행 : Tomcat 설치

  1. tar xvf apache-tomcat-9.0.83.tar.gz : 설치한 파일 압축 해제

: 디렉토리 (폴더) 생성됨

  1. sudo cp -r apache-tomcat-9.0.83 /usr/local/tomcat : tomcat 디렉토리 이동
  • -r : 디렉토리를 이동할 때 필요한 옵션
  • cp : 파일 복사 ➡️ 디렉토리를 복사하기 위해서는 -r 옵션 필요
  1. sudo yum update -y : EC2 인스턴스 업데이트

  1. amazon-linux-extras을 통해 java-openjdk11을 설치할 수 있는지 확인

    sudo amazon-linux-extras install java-openjdk11 -y, sudo yum install -y java-11-openjdk-devel.x86_64 : JDK11 설치

  1. readlink -f /usr/bin/java : 실행 시 나오는 경로 복사

    sudo vi /etc/profile : /etc/profile 수정하기
    ➡️ 파일 맨 아래 빈 줄에 다음 내용 입력ESC + :wq로 저장

    JAVA_HOME=복사한 경로에서 /bin/java 삭제
    CATALINA_HOME=/usr/local/tomcat
    CLASSPATH=$JAVA_HOME/jre/lib:$CATALINA_HOME/lib/tools.jar:$CATALINA_HOME/lib-jsp-api.jar:$CATALINA_HOME/bin:/sbin
    PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
    export JAVA_HOME CATALINA_HOME PATH CLASSPATH

  1. yum 명령어를 통해 설치한 프로그램systemctl 명령어로 끄고 켤 수 있는데, tomcatwget을 통해 직접 설치하였으므로 systemctl을 사용하기 위해서는 별도의 설정이 필요하다!

    sudo vi /etc/systemd/system/tomcat9.service 를 통해 다음과 같이 설정해주면 된다.

    [Unit]
    Description=Apache Tomcat9
    After=syslog.target network.target

    [Service]
    Type=forking
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecStop=/usr/local/tomcat/bin/shutdown.sh

    User=root
    Group=root

    Umask=0007
    RestartSec=10
    Restart=always

    [Install]
    WantedBy=multi-user.target

  1. sudo systemctl daemon-reload : 추가한 tomcat9.service 적용
    sudo systemctl start tomcat9 : 톰캣 실행
    sudo systemctl status tomcat9 : 톰캣 실행 상태 확인

: active(running)이면 정상적으로 실행되고 있다는 뜻!

  1. 왼쪽 창의 sFTP를 통해 /home/ec2-user 에 배포할 war 파일 업로드

    sudo cp 파일명.war /usr/local/tomcat/webapps : cpmv를 통해 war 파일 이동

  1. 주소창에 http://IP주소:8080/프로젝트명를 입력하면 해당 페이지에 접속 가능!

sudo systemctl stop tomcat9를 통해 톰캣을 끄면 접속 안됨!

profile
백엔드 개발자👩🏻‍💻가 되고 싶다
post-custom-banner

0개의 댓글