[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
스프링 레거시 프로젝트
빌드 및 패키징:
- Gradle 또는 Maven을 사용하여 프로젝트를 빌드합니다. 이 과정에서
.jar
또는.war
파일이 생성됩니다. - Gradle을 사용할 경우,
gradle build
명령어를 사용하여 빌드할 수 있습니다.
- Gradle 또는 Maven을 사용하여 프로젝트를 빌드합니다. 이 과정에서
배포:
- 생성된
.war
파일을 톰캣과 같은 서블릿 컨테이너에 배포합니다. 이 과정은 톰캣의webapps
디렉토리에.war
파일을 복사하는 방식으로 이루어집니다. - 톰캣 서버를 재시작하여 배포된 애플리케이션을 적용합니다. 재시작이 필요한 이유는 톰캣이 새롭게 배포된
.war
파일을 인식하고 애플리케이션을 로드하기 위함입니다.
- 생성된
스프링 부트 프로젝트
스프링 부트는 배포 방식이 훨씬 간편하고 현대적입니다. 일반적으로 두 가지 주요 방식으로 배포할 수 있습니다:
독립 실행형 JAR 파일:
- 스프링 부트는 내장 톰캣(또는 Jetty, Undertow 등)을 지원합니다. 따라서
.jar
파일로 패키징된 애플리케이션을 독립 실행형으로 배포할 수 있습니다. gradle build
명령어를 사용하여.jar
파일을 생성한 후,java -jar your-application.jar
명령어로 애플리케이션을 실행합니다. 이때 내장 톰캣이 함께 실행되어 애플리케이션이 제공됩니다.
- 스프링 부트는 내장 톰캣(또는 Jetty, Undertow 등)을 지원합니다. 따라서
WAR 파일 배포:
- 스프링 부트 애플리케이션을 WAR 파일로 패키징하여 기존의 서블릿 컨테이너(예: 톰캣)에 배포할 수도 있습니다. 이 경우,
SpringBootServletInitializer
를 상속받아 웹 애플리케이션을 구성합니다. - 생성된 WAR 파일을 톰캣의
webapps
디렉토리에 배포하고 톰캣을 재시작하여 애플리케이션을 적용합니다.
- 스프링 부트 애플리케이션을 WAR 파일로 패키징하여 기존의 서블릿 컨테이너(예: 톰캣)에 배포할 수도 있습니다. 이 경우,
요약
- 스프링 레거시 프로젝트는 톰캣 같은 서블릿 컨테이너에 WAR 파일을 배포하고, 컨테이너를 재시작하는 과정이 필요합니다.
- 스프링 부트는 두 가지 방식으로 배포할 수 있으며, 내장 톰캣을 사용하는 독립 실행형 JAR 파일로 쉽게 배포할 수 있습니다. WAR 파일로 배포할 수도 있지만, 이 경우 기존의 서블릿 컨테이너에 배포해야 합니다.
댓글
댓글 쓰기