1. github 저장소 받기

$ git clone {깃 주소}

** 기존에 clone받은 디렉토리를 지우고 싶다면

$ rm -rf {디렉토리명}

 

 

2. 다운받은 저장소 확인

$ dir

 

 

3. 패키지 다운

- jdk

$ sudo apt install openjdk-8-jdk
$ sudo apt install openjdk-8-jre

 

- MySQL

$ sudo apt update && sudo apt-get -y upgrade
$ sudo apt install mysql-server

** 서버에 DB 배포는 끝났다고 가정한다.

(참고 : https://woooow.tistory.com/113?category=961809)

 

- Maven

$ sudo apt install maven
$ mvn -v
# 버전 확인

 

- Npm

$ sudo apt install npm

 

 

4. 빌드/실행

- root/{배포할 프로젝트}로 이동한다.

$ cd {프로젝트명}

 

- 빌드

 1) Frontend

$ cd {frontend}
$ npm install
$ npm run build

 

 2) Backend

$ cd {backend}

$ chmod 777 ./mvnw
# 권한 설정

$ ./mvnw clean package

 

- 백엔드 실행

$ java -jar {jar파일}

** 아래 명령어로 접속이 끊겨도 백그라운드로 실행시킨다.

$ nohup java -jar {jar파일} &
# maven의 경우 target안에 jar파일 존재

** 백그라운드 실행시 중지시키는 방법

$ ps -ef | grep java
# PID확인 

$ kill -15 {PID}
# -15로 삭제하고 안되면 -9로하지만 권장하지 않음.

 

- Nginx로 Frontend 실행

# 설치
$ sudo apt install nginx
$ sudo systemctl start nginx

# 설정
$ sudo vim /etc/nginx/sites-available/default

# build한 파일(build 폴더내 모든 파일)을 /var/www/html안으로 옮김
$ sudo mv build/* /var/www/html/

# nginx 재실행
$ sudo systemctl stop nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx
# Acitve : active (running) 확인하기

# nginx는 기본 80포트로 접속하기떄문에 80포트의 방화벽을 열어준다.
$ sudo ufw allow 80
$ sudo ufw enable
$ sudo ufw status
# 방화벽 상태 확인

** build한 파일을 이동할 때 기존에 있는 디렉토리로 문제가 발생한다면

$ rsync -a build/* /var/www/html/
$ rm -rf build/*

 

5. 해당하는 서버 주소로 접근하면 웹브라우저가 실행된다.

'Spring' 카테고리의 다른 글

STS에서 Spring Starter Project 생성  (0) 2021.12.28
환경설정 (인코딩)  (0) 2021.12.28
SpringBoot로 AWS S3 사용 (이미지 CRUD)  (0) 2021.08.11
IntelliJ에서 JDK 설정  (0) 2021.08.02
IntelliJ에서 SpringBoot 프로젝트 생성  (0) 2021.07.22