ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Linux 서버에서 스프링 부트(Spring Boot) 배포하기
    개발환경/Spring Boot 2023. 3. 19. 11:02
    728x90

     

     

    오라클 클라우드 Linux 서버 환경에서 Spring Boot 프로젝트를 배포하는 방법에 대해 알아보자.

     

     

     

    1. JDK 설치하기 

    1) 인스턴스에서 java가 설치되어있는지 확인

    $ which java

    위 명령어는 java가 설치되어있는지 확인하여 java 설치 경로가 보여준다.(글쓴이는 이미 설치된 상태)

    만약 설치된 java가 없을 경우, 아래 방법으로 설치를 진행한다.

     

     

     

    2) 설치 가능한 jdk 버전을 확인

    현재 프로젝트가 사용중인 jdk 버전과 맞는 버전을 설치해준다.

    $ yum list java*jdk-devel

     

    이때 root 권한 혹은 sudo를 사용하여 설치를 진행한다.

    $ sudo yum -y install java-11-openjdk-devel.x86_64

     

     

    3) java 설치 경로와 java 버전을 확인

    설치가 정상적으로 진행되어있다면, 아래 명령어를 통해 java 설치 경로와 java 버전을 확인합니다.

    $ which java
    $ java -version

     

     

     

     

     

    2. 프로젝트 소스 이동

    1) 디렉토리 생성 및 권한 설정

    소스파일을 넣어둘 디렉토리를 생성한다.

    $ sudo mkdir /apps

     

    root 권한이 사용하지 못하는 경우, 파일 이동이 원활히 진행되지 않을 수 있기 때문에 디렉토리 권한을 현재 사용자로 설정한다.

    $ sudo chown -R opc:opc /apps

     

     

     

    이제 프로젝트 소스를 받아 리눅스 서버에 옮겨야하는데, 방법은 두가지로 나뉜다.

     

    2_1 ) git 방식

     git을 사용해서 코드를 clone하는 방식이다.

     

    깃 설치하기

    $ sudo yum install git
    $ git --version

     

    소스 복제

    $ git clone [git주소]

     

     

    2_2 ) FTP 방식

    FTP를 활용하여 소스를 옮기는 방식으로 filezilla라는 대표적인 FTP 프로그램을 사용하여 서버로 소스파일을 이동시킨다.

     

     

     

    위 두 방식으로 소스를 이동시켰다면, 프로젝트 디렉토리를 확인하여 소스가 정상적으로 이동했는데 확인한다.

     

     

     

     

     

    3. build를 통해 jar파일 생성

    1) gradlew 실행 권한 변경

    $ chmod -755 ./gradlew

     

    2) build 하기

    $ ./gradlew build

     

    아래와 같이 나왔다면 build에 성공한 것이다. 처음 빌드할 때 오래걸리니 알아두자.

     

     

    3) 방화벽 허용

    gradle 자체 톰캣을 사용하기 때문에 8080포트를 허용한다. 

    $ sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT

     

     

     

     

     

    4.  jar 실행하기

    $ cd ./build/libs/

     

    firstspring-0.0.1-SNAPSHOT.jar 파일이 생성된 것을 확인하고 이 jar 파일을 실행 할 것이다.

     

     

    방법 1)

    $ java -jar firstspring-0.0.1-SNAPSHOT.jar

    위 명령어로 실행하게 되면 서버 콘솔에 바로 프로그램이 실행되며, ctrl + c를 누르면 종료된다.

     

     

     

     

    방법 2)

    $ nohup java -jar firstspring-0.0.1-SNAPSHOT.jar&
    ll
    $ tail -f nohup.out

    위 명령어는 프로세스를 백그라운드에서 실행하는 방법으로 SSH를 닫아도 프로세스는 종료되지 않고 실행을 유지 할 수 있다.

    nohup를 붙여줌으로써 nohup.out 파일을 생성하고 nohup.out 파일안에 콘솔을 출력하게 된다.

     

    아래의 방법으로 프로세스를 종료할 수 있다.

    $ netstat -nlp |grep 8080

    $ kill -15 [PID번호]

     

     

     

     

     

    브라우저에 url에 서버IP:8080를 입력하고 들어가보면 웹 페이지가 띄어지는 것을 확인 할 수 있다.

     

     

     

     

     

     

    728x90

    댓글

Designed by Tistory.