약 한달 동안 진행한 프로젝트가 끝이 났다.
서버는 네이버 클라우드 서버를 이용했다.
네이버 클라우드 서버는 1년 동안 무료 미니 서버를 제공하고, 10만원의 크레딧을 제공하여 나와 같이 첫 프로젝트를 배포하려는 사람에게 좋은 것 같다.
AWS EC2 서버는.. 적은 돈이지만 돈이 조금씩 나가더라..
ubuntu-18.04 버전의 서버를 구축했다.
공인 IP도 무료로(크레딧 사용) 발급 받아, 로컬 환경이 아니더라도 접속할 수 있도록 서버를 설정했다.
ssh 접속이 된다!!
이제 이 환경에 스프링 부트 프로젝트와 리액트 프로젝트를 빌드하여 실행하면, 외부 환경에서도 Jelog에 접속할 수 있다.
스프링 부트 프로젝트를 git clone
한 뒤, ./gradlew build
명령어를 통해 프로젝트를 빌드한다.
빌드가 성공하면, 위 이미지와 같이 BUILD SUCCESSFUL
이라는 메세지와 함께 build
폴더가 생성된다.
빌드된 파일은 jar
형식으로 프로젝트 폴더/build/libs
에 생성된다.
톰캣이 내장 되어 있어, java -jar
명령어를 통해 실행 시키면 별도의 서버를 구축할 필요가 없이 동작하게 된다.
우리는 해당 ssh 서버에서 스프링 부트 프로젝트와 리액트 프로젝트를 같이 실행 시켜야 하니, nohup
명령어를 통해 백그라운드에서 스프링 부트 프로그램이 돌아가도록 실행 시킨다.
cat nohup.out
을 통해 실행이 정상적으로 되었는지 확인 할 수 있다.
리액트 프로젝트 역시 git clone
한 뒤, npm run build
명령어를 통해 프로젝트를 빌드한다.
빌드에 성공하면 build
폴더가 생성된다.
npx serve -s build
명령어로 빌드된 리액트 프로젝트를 실행하자!
터미널에 나오는 주소는 우분투 서버의 로컬 주소로, 해당 주소로 접속하지말고 발급 받은 공인 IP 주소로 접속하자.
짠!
드디어, 외부 환경에서 Jelog 에 접속하는 것이 가능해졌다.
스프링 부트와도 정상적으로 연동 된 모습!!
이번 프로젝트는 이 정도로 마무리 해보려고한다. 🥳
사실, 로그인 암호화라던지, 여러 자잘자잘한 부분의 완성도가 많이 미흡하지만..
나의 리액트 첫 프로젝트이자 혼자서 자습하여 완성한 스프링 부트 프로젝트이니, 차츰 차츰 프로젝트의 완성도를 높여가야겠다.
아무튼,, 여러가지로 배운 점도 많았고 어려웠던 부분도 많았다.
구글링과 ChatGPT 가 정말 많은 도움이 되었다.
이제는 정말, 정보를 구하기가 쉬워져서 개발 난이도가 많이 낮아진 것 같다 ㅎㅎ..