Search
♟️

Spring Boot 환경구축 (1)

태그
backend study
OS - ubuntu20.04LTS(in EC2)
WebServer - Nginx
Backend Language - Spring Boot
1.
Spring Boot는 언어가 Java이므로 jdk 설치
apt install default-jdk -y
JavaScript
복사
2.
/var/www/ 위치에 Template 저장 (두 가지 방법 중 Git Clone 방식 선택)
Git Clone 방법
SFTP 방법 (winscp 사용)
3. /etc/nginx/sites-available
잘 받아와 졌다면 nginx의 서버 블록에 추가를 해줌
저번 과정에서 default 파일에 작성해주었지만
새 폴더 생성 후 추가해주는것이 좋음 (방법은 AWS 서버 구축에 작성되어있음)
물론 SSL도 적용해준 상태여야 함
cd /etc/nginx/sites-available -> conf 파일에서 DocumentRoot 부분 nginx엔 root 이부분을 /var/www/xxxx 으로 변경 service nginx restart
JavaScript
복사
4.
ide에 해당 서버의 템플릿 폴더 SFTP 접속
intelliJ 사용
Remote Host를 찾아서 연결
root path는 /var/www/html/xxxx 폴더로 입력
web server URL은 http://외부IP or 도메인을 입력
5.
해당 폴더의 권한 부여
필요 없는 .git는 삭제
현재 ide를 통해서 해당 폴더 변경이 불가능 함
chmod -R 777 var/www/xxxx(폴더명)
JavaScript
복사
6.
템플릿의 application.yml 파일 확인
server.port : 9000
datasource.url = jdbc:mysql://(RDS endpoint)/(스키마명)?/autoReconnect=true
autoReconnect: spring 자체에서 사용을 오랫동안 안하면 연결을 자동으로 끊어주는데,
다시 재 연결하도록 설정하는 설정값
username, password, driver-class-name 확인 후 변경
7.
Test 진행
먼저 빌드 진행
./gradlew clean build
JavaScript
복사
jar 파일 실행
java -jar build/libs/xxxx-SNAPSHOT.jar
JavaScript
복사
실행 도중 connection이 안되어있다는 오류 발생시
RDS의 인바운드 규칙 체크
다시 빌드 후 실행
postman으로 Test 진행
현재 server port가 9000포트이므로 접근시 9000포트, 하지만 ssl은 80, 443으로 인증받았기때문에 9000포트는 “프록시패스”를 사용해주어야 함.
nginx를 리버스 프록시로 사용.
8.
Proxy pass 설정
cd /etc/nginx/sites-available/ vi xxx.config 해당 서버 블록의 location /{ proxy_pass http://외부IP:9000; or 도메인 } 변경 재시작: service nginx restart 빌드: ./gradlew clean build 실행: java -jar build/libs/xxxx-SNAPSHOT.jar
JavaScript
복사
9.
다시 postman으로 Test 진행 후 로그 확인