[AWS] AWS 가상컴퓨터 생성~6.EC2 서버에 프록시 서버 생성하여 80port로 포트포워딩~(아마존 클라우드 서버)_cloud computer virtual_-신촌 더조은 학원 AWS-+How to sign up for AWS and use EC2 service+

 ~6.EC2 서버에 프록시 서버 생성하여 80port로 포트포워딩~


1. aws ec2 server에 방화벽 인바운드 80 포트포워딩 추가

- ec2 > 인스턴스 > 실행 중 인스턴스 선택 



- 하단 보안탭 선택 > 보안그룹 선택 



- 인바운드 규칙 편집 선택 



- 규칙추가 = 유형 : http / 포트 : 80/ 소스 : Anywhere-IPv4 > 규칙저장



2. vscode로 aws ec2 server에 접속 

3. nginx 설치
sudo yum install nginx

4. nginx 설정 

sudo vim /etc/nginx/nginx.conf

- nginx.conf 파일안 server 부분 내부에 소스추가

location / {

proxy_pass http://localhost:8080;

}



5. nginx 재시작 

 sudo systemctl stop nginx

 sudo systemctl start nginx


6. 브라우저 test : 8080대신 80port로 접근가능해짐 

http://43.203.251.50/todo/list




* 스프링 레거시 프로젝트와 스프링 부트 프로젝트의 배포 방식 

이번에는 스프링 레거시로 그래들 빌드 후 나온 war파일을 webapps에 배포하는 방식으로 진행했음. 

다음에는 스프링 부트에서 그래들 빌드 후 나온 jar파일을 아래 명령어로 배포 할 수 있음

user1@myserver01:~/springex-main$ ssh -i ../.ssh/EC2forLinux.pem ec2-user@52.79.117.155 java -jar xxx.jar 

스프링 레거시 프로젝트

  1. 빌드 및 패키징:

    • Gradle 또는 Maven을 사용하여 프로젝트를 빌드합니다. 이 과정에서 .jar 또는 .war 파일이 생성됩니다.
    • Gradle을 사용할 경우, gradle build 명령어를 사용하여 빌드할 수 있습니다.
  2. 배포:

    • 생성된 .war 파일을 톰캣과 같은 서블릿 컨테이너에 배포합니다. 이 과정은 톰캣의 webapps 디렉토리에 .war 파일을 복사하는 방식으로 이루어집니다.
    • 톰캣 서버를 재시작하여 배포된 애플리케이션을 적용합니다. 재시작이 필요한 이유는 톰캣이 새롭게 배포된 .war 파일을 인식하고 애플리케이션을 로드하기 위함입니다.

스프링 부트 프로젝트

스프링 부트는 배포 방식이 훨씬 간편하고 현대적입니다. 일반적으로 두 가지 주요 방식으로 배포할 수 있습니다:

  1. 독립 실행형 JAR 파일:

    • 스프링 부트는 내장 톰캣(또는 Jetty, Undertow 등)을 지원합니다. 따라서 .jar 파일로 패키징된 애플리케이션을 독립 실행형으로 배포할 수 있습니다.
    • gradle build 명령어를 사용하여 .jar 파일을 생성한 후, java -jar your-application.jar 명령어로 애플리케이션을 실행합니다. 이때 내장 톰캣이 함께 실행되어 애플리케이션이 제공됩니다.
  2. WAR 파일 배포:

    • 스프링 부트 애플리케이션을 WAR 파일로 패키징하여 기존의 서블릿 컨테이너(예: 톰캣)에 배포할 수도 있습니다. 이 경우, SpringBootServletInitializer를 상속받아 웹 애플리케이션을 구성합니다.
    • 생성된 WAR 파일을 톰캣의 webapps 디렉토리에 배포하고 톰캣을 재시작하여 애플리케이션을 적용합니다.

요약

  • 스프링 레거시 프로젝트는 톰캣 같은 서블릿 컨테이너에 WAR 파일을 배포하고, 컨테이너를 재시작하는 과정이 필요합니다.
  • 스프링 부트는 두 가지 방식으로 배포할 수 있으며, 내장 톰캣을 사용하는 독립 실행형 JAR 파일로 쉽게 배포할 수 있습니다. WAR 파일로 배포할 수도 있지만, 이 경우 기존의 서블릿 컨테이너에 배포해야 합니다.

댓글

T O P