DOing
[AWS] Spring 프로젝트 배포 본문
이전 포스팅과 이어지는 포스팅입니다.
2021.04.20 - [AWS] - [AWS] EC2에 스프링 프로젝트 배포 준비하기
[ Git으로 프로젝트 가져오기 ]
1. git 설치
깃헙에서 코드를 받아올 수 있게 EC2에 git을 설치한다.
sudo yum install git
2. 새 디렉토리 생성
git clone으로 프로젝트를 저장할 디렉토리 생성하고 생성된 디렉토리로 이동한다.
mkdir ~/app
mkdir ~/app/step1
cd ~/app/step1
3. git clone
깃헙 리포지토리에서 주소를 복사해온 후에 git clone을 진행한다.
git clone (깃헙 리포지토리 주소)
* 특정 브랜치만 clone
git clone -b { 브랜치명 } --single-branch { 리포지토리 주소 }
[ 프로젝트 수정 ]
1. root-context.xml 수정
Github에서 받아온 스프링 프로젝트에는 local에 맞춰 DB세팅을 해놓은 상태이다.
이를 만들어놓은 RDS에 맞게 변경을 해야한다.
[ 배포 ]
1. clean
pom.xml이 있는 디렉토리로 이동후 명령어를 입력한다.
clean 으로 이전 빌드에서 생성 된 모든 파일을 제거하는 명령어이다.
mvn clean
2. package
컴파일하고 war 배포 형식으로 패키지한다.
mvn package
[WARNING] Using platform encoding (MS932 actually) to copy filtered resources, i.e. build is platform dependent!
pom.xml을 수정해서 인코딩을 UTF-8로 바꾼다.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
이렇게 까지했는데도 아직 unmappable character for encoding UTF-8 에러가 나는 것이 있다면
에러가 나는 해당 파일을 다 찾아서 내용을 확인하고, 하나씩 인코딩을 변경해준다.
[ 파일 인코딩 변경 방법 ]
> file -bi 파일명
text/plain; charset=iso-8859-1
> iconv -c -f so-8859-1 -t utf-8 파일명 > 파일명
3. tomcat에 war파일 등록
위의 사진에 있는 로그를 자세히 보면 만들어진 war파일의 위치를 알려주고 있다.
Building war : ~~ PhoneMall/target/spring-1.0.0-BUILD-SNAPSHOT.war
이렇게 만들어진 war파일을 tomcat에 등록시켜야 해당 IP로 접속했을 때 내가 만든 스프링 프로젝트가 뜨게된다.
이를 위해서 server.xml을 수정하자.
sudo vim /etc/tomcat/server.xml
<Connector port="8080">아래에 있는 <host name= "localhost"></host>안에 추가한다.
<Context docBase="spring-1.0.0-BUILD-SNAPSHOT" path="/" reloadable="true" source="org.eclipse.jst.jee.server:spring-1.0.0-BUILD-SNAPSHOT.war"/>
4. war파일 이동
tomcat이 찾을 수 있는 위치로 war파일을 이동시켜야한다.
그 전에 war파일이 어디에 위치하고 있는지 확인해보자.
cd ~/app/step1/shoppingMallProject/PhoneMall/target
war파일을 이동시킨다.
sudo mv ~/app/step1/shoppingMallProject/PhoneMall/target/spring-1.0.0-BUILD-SNAPSHOT.war /usr/share/tomcat/webapps
war파일이 제대로 위치했는지 확인해보자.
cd /usr/share/tomcat/webapps
5. 톰캣 시작
sudo service tomcat start
요청을 확인해보자.
curl http://127.0.0.1:8080
여기까지 제대로 된다면 이번엔 브라우저에서 직접 접속해본다.
http://(public IP주소):8080
'AWS' 카테고리의 다른 글
[AWS] S3를 Spring에서 사용하기 - 이미지 업로드 (0) | 2021.04.22 |
---|---|
[AWS] S3 버킷 생성, 객체 업로드하기 (0) | 2021.04.21 |
[AWS] Spring 프로젝트 배포 준비하기 (0) | 2021.04.20 |
[AWS] AWS 사용 요금 확인 (0) | 2021.04.19 |
[AWS] AWS의 IAM (0) | 2021.04.18 |