ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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}

    서버를 종료해야 하는데 프로세스 식별자를 잊어버린 경우 첫 번째 명령어를 입력하면 식별자를 알아낼 수 있다.

    알아낸 식별자를 바탕으로 두 번째 명령어를 통해 강제로 서버를 종료할 수 있다. 

     

     

     

Designed by Tistory.