[Mlog] 나만의 블로그 만들기 - Spring boot + NginX 배포하기

노의빈·2023년 10월 17일
0

Mlog

목록 보기
9/13

📌 Spring boot 애플리케이션 배포

우선 프로젝트를 클론한다.

$ git clone [프로젝트 주소.git]

application.yml 등 설정파일을 추가한다.
그리고 프로젝트 폴더로 이동하고, graldew에 실행권한을 추가한다.

$ chmod +x gradlew

gradlew를 이용해 빌드를 한다.

$ ./gradlew build

빌드된 jar 파일은 [프로젝트경로]/build/libs에 존재한다.
해당 jar 파일을 실행시키면 된다.

$ cd /build/libs
$ java -jar [파일명].jar

만약 백그라운드에서 실행시키려면 다음과 같이하면 된다.
실행 로그는 nohup.out에 기록된다.

$ nohup java -jar [파일명].jar &

이제 브라우저에서 ip:8080 으로 접속하여 API 호출이 정상적으로 동작하는지 확인해본다.

📌 NginX 리버스 프록시 설정

아래 명령어를 통해 새로운 파일을 만들고 내용을 추가한다.

$ sudo vi /etc/nginx/conf.d/service-url.inc

# service-url.inc에 들어갈 내용
set $service_url http://127.0.0.1:8080;

마찬가지로, 아래 명령어를 통해 새로운 파일을 만들고 내용을 추가한다.

$ sudo vi /etc/nginx/sites-available/[서버이름]

# 추가할 내용
server {
        listen 80;
        listen 443;
        listen [::]:80;
        listen [::]:443;
        server_name 서버IP;
        include /etc/nginx/conf.d/service-url.inc;
        location / {
                proxy_pass http://localhost:3000;
        }
        location /api {
                proxy_pass http://localhost:8080;
                charset utf-8;
                proxy_redirect off;

                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;
                proxy_set_header X-Forwarded-Proto $scheme;
        }
}

이제 아래 명령어를 통해 NginX를 재시작하면 브라우저에서 포트번호 없이 접속이 되는 것을 확인할 수 있다.

$ sudo service nginx restart

profile
백엔드 공부 중입니다.

0개의 댓글