-
[Linux]AWS EC2 서버에 SpringBoot 배포Server 2021. 10. 13. 09:30
현재 사용하는 EC2 서버가 성능이 좋은 편이 아니기 때문에 로컬에서 작업한 후에 WinSCP를 이용해 /var/www 경로에 옮겨주었다. 이때 깃 클론을 사용해도 된다. 깃 클론 사용시 필요한 명령어는 아래와 같다.
$ cd /var/www $ git clone {옮기고자 하는 템플릿 url}
1. JDK 설치
$ javac $ sudo apt install default-jdk
javac 명령어로 설치된 jdk가 있는지 확인한 후에 JDK를 설치하였다.
2. Nginx 설정
sudo vi /etc/nginx/sites-available/default
root 경로를 /var/www/spring_boot로 변경한다. (각자 관리하고 있는 서버의 위치를 작성하면 된다.)
프록시 패스를 설정하기 위해 proxy_pass http://127.0.0.1:9000;을 추가로 작성한다.
https가 적용된 도메인으로 리다이렉션 되도록 설정한다. (SSL 인증에 대한 것은 해당 링크를 참고하길 바란다.)
$ sudo service nginx restart
설정을 모두 마친 후 서버를 재시작한다.
3. 인바운드 규칙 추가
EC2 인스턴스 보안그룹에 9000포트에 대한 인바운드 규칙을 추가한다.
4. 서버 실행
$ sudo cd /var/www/spring_boot/build/libs $ java -jar demo-0.0.1-SNAPSHOT.jar
실행파일이 위치한 경로로 이동한 후에 자바 파일을 실행한다.
실행이 성공적으로 완료된 경우 마지막에 HEAP Size가 출력된다.
PostMan을 이용해 서버에 전체 사용자 조회를 요청한 화면이다.
5. 백그라운드 서버 실행
$ nohup java -jar demo-0.0.1-SNAPSHOT.jar &
백그라운드에서 서버를 실행할 수 있도록 하는 명령어이다. nohup.out 파일이 생성되고 프로세스 식별자가 출력된다.
$ ps -ef | grep {실행시켰던 파일 이름} $ sudo kill -9 {PID}
서버를 종료해야 하는데 프로세스 식별자를 잊어버린 경우 첫 번째 명령어를 입력하면 식별자를 알아낼 수 있다.
알아낸 식별자를 바탕으로 두 번째 명령어를 통해 강제로 서버를 종료할 수 있다.
'Server' 카테고리의 다른 글
[Linux]AWS RDS 서버 구축 (0) 2021.10.02 AQueryTool을 이용한 DB 설계, 한 방 쿼리 작성 (0) 2021.09.27 [Linux] WinSCP 파일 전송 시 권한 오류 해결 (0) 2021.09.24 [Linux]Subdomain, Redirection 적용 (0) 2021.09.22 [Linux]HTTPS 적용 / Let's Encrypt (0) 2021.09.22