로컬에서 구축한 서버는 공인 IP가 아니기 때문에 다른 네트워크를 사용하는 클라이언트에서는 사용할 수 없다.
따라서 Spring 서버를 AWS EC2에 구축해서 배포해보기로 했다.
Spring Boot는 내장 웹서버가 있지만, Spring framework는 내장 웹서버가 없기 때문에 Spring 서버가 동작하기 위해 필요한 tomcat도 같이 구축해준다.
물론 MongoDB를 데이터베이스로 사용하기 때문에 MongoDB도 설치해줘야 한다.
Spring 프로젝트를 export할 때 jar 또는 war 파일로 할 수 있는데 어떤걸로 해야할까?
jar 파일은 Springboot와 같이 내장 tomcat 서버가 있을 때,
war 파일은 Spring과 같이 내장 서버가 없어서 별도의 웹서버를 구축할 때라고 한다.
Spring 프로젝트이니까 war 파일로 export한다.
<modelVersion>4.0.0</modelVersion>
<groupId>org.smu</groupId>
<artifactId>blood</artifactId>
<name>SMU-Blood-Backend</name>
<packaging>war</packaging>
<version>1.0.0-BUILD-SNAPSHOT</version>
pom.xml에서 <packaging> 태그에서 패키징하는 확장자를 war로 지정한다.
다음 내용은 인스턴스 내에서 진행하는 설치 과정이다.
wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
tar xvf apache-maven-3.8.4-bin.tar.gz
mv apache-maven-3.8.4 /usr/local/maven-3.8.4
sudo vi /etc/profile
export M2_HOME=/usr/local/maven-3.8.4
PATH=$PATH:$M2_HOME/bin
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.59/bin/apache-tomcat-9.0.59.tar.gz
tar xvf apache-tomcat-9.0.59.tar.gz
sudo mv apache-tomcat-9.0.59 /usr/local/tomcat9
export CATALINA_HOME=/usr/local/tomcat9
chmod -R 777 /usr/local/tomcat9/webapps // 모든 작업 가능하도록 권한 부여
chown -R ubuntu /usr/local/tomcat9/webapps // ubuntu에게 소유자 권한 부여
<Connector port="8090" protocol="HTTP/1.1"
URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443" />
/usr/local/tomcat10/bin/startup.sh
/usr/local/tomcat10/bin/shutdown.sh
Tomcat 서버 실행하고 인스턴스에 할당된 IP:포트로 접속 시 위와 같이 뜨면 정상 실행된 것이다.
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl start mongod // stasrt
sudo systemctl stop mongod // stop
[Spring] FCM PUSH Notification (FCM PUSH 알림) (1) | 2022.03.11 |
---|---|
[Spring] JWT Token 사용하기 (0) | 2022.02.27 |
[Spring] 테스트 코드 작성 (0) | 2022.02.24 |
[Spring] 응답 문자열 한글 깨짐 문제 해결 (0) | 2022.02.16 |
JWT (JSON Web Token) (0) | 2022.01.28 |