시스템이 제대로 구축된 회사는 운영팀, 인프라팀, 개발팀이 다 따로 있어서 개발자는 코딩만 하면 끝이지만 작은 회사는 개발자가 세 가지를 모두 다 해야 하는 상황이 생긴다. 아주 깊게는 아니더라도 어떤 방식으로 돌아가는지 큰 그림을 이해하고 있는 게 중요하다.
AWS EC2 인스턴스 만들기 공식 문서: https://docs.aws.amazon.com/efs/latest/ug/gs-step-one-create-ec2-resources.html
이유는 잘 모르겠지만 자바 7을 삭제해주어야 자바 8이 정상적으로 실행된다.
application.properties 파일을 따로 사용하고 싶은 경우
환경 준비 (Environment Setup)
jar를 실행하기에 앞서 EC2 환경을 준비해봅시다. EC2 instance를 만드는 방법은 AWS 공식 문서가 아주 잘 되어있으니 참고하면 됩니다. OS는 Amazon Linux 기준으로 작성되었다.AWS EC2 인스턴스 만들기 공식 문서: https://docs.aws.amazon.com/efs/latest/ug/gs-step-one-create-ec2-resources.html
OS 업데이트
sudo yum update -y
자바 8 설치
sudo yum install java-1.8.0-openjdk -y
이유는 잘 모르겠지만 자바 7을 삭제해주어야 자바 8이 정상적으로 실행된다.
sudo yum remove java-1.7.0-openjdk -y
apache httpd 설치
sudo yum install httpd -y
마리아 디비 설치
sudo yum install MariaDB-server MariaDB-client
httpd.conf
80 포트로 요청이 들어왔을 때 spring boot jar가 실행 중인 8080 포트로 포워딩을 해줄 수 있도록 /etc/httpd/conf/httpd.conf 파일에 아래 내용을 추가<VirtualHost *:80>
ServerName fwantastic.com
ServerAlias www.fwantastic.com
ProxyPreserveHost on
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
실행
설치가 모두 끝났으니 이제 실행해보자.httpd 실행
service httpd start
스프링 부트 jar 실행
nohup (no hangup) 커맨드를 사용하면 ssh 접속이 끊긴 이후에도 백그라운드에서 jar가 계속 돌아간다.nohup java -jar /path/to/jar/fwantastic.jar &
application.properties 파일을 따로 사용하고 싶은 경우
nohup java -jar -Dspring.config.location=/path/to/property_file/application.properties /path/to/jar/fwantastic.jar &