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 |