[라이트세일/EC2] 우분투 리눅스 서버에 nodejs express / react 배포하기 / 프론트앤드, 백앤드 API 프로젝트/ git 배포방법
서론
nodejs 환경에서 express 백앤드와 react 프론트앤드를 만들었고, 로컬환경에서 내 git 저장소에 모두 커밋을 해두었다. 이제 우리가 해야할 이은 git 저장소에 있는 소스코드 기반으로 내 라이트세일 리눅스 서버에 배포하는 것.! 일단 BE 배포나 FE 배포나 둘다 nodejs 환경이기때문에 그놈이 그놈이고 방법이 크게 다르지 않아 일단 express 로 구현한 backend 서버 배포하는 방법에 대해 알아보자!
node 구동 환경 준비
먼저 라이트세일이나 EC2 리눅스 서버에서 node 기반 앱을 구동하기 위해서는 nodejs 런타임 환경과 npm 도구를 설치해줘야한다.
https://extsdd.tistory.com/444
[Mac 환경설정] 라이트세일/EC2 우분투 리눅스 서버에 nodejs, npm 설치방법
개발했던 프로젝트를 라이트세일 서버에 올리기위해 리눅스 서버에 nodejs 런타임 환경을 설치하는 과정을 알아보자. 설치 방법들 Ubuntu Repository 에서 설치 NodeSource Repository 에서 설치 nvm(Node Version
extsdd.tistory.com
위 포스팅을 참고하여 nodejs 와 npm 을 설치해주자.
git 저장소 연동
그 다음 내 서버의 디렉토리와 git 저장소와 연동이 되어야한다. 연동 방법은 아래 포스팅을 참고하면 된다.
https://extsdd.tistory.com/446
[Mac 환경설정] 라이트세일/EC2 우분투 리눅스 서버에 git 저장소 연동하기
디렉토리 생성 mkdir server # 서버 경로 생성 cd server # 생성한 server 경로 이동 git 프로젝트를 보관할 디렉토리를 새로 생성해주자. 나는 home 에서 server 폴더를 하나 만들었다. 그리고 먼저 backend 소
extsdd.tistory.com
위 포스팅을 참고하면 된다. 위 포스팅에는 express 백앤드를 예시로 잡았는데 동일한 과정으로 프론트앤드도 받아주면 되며, 예시 디렉토리 구성은 아래와 같다.
- server
- backend_project
- frontend_project
의존성 설치
앞 단계까지 수행하고나면 보통 node_modules 폴더가 없다. 의존성은 package.json 에만 명시하고 하위 디렉토리인 node_modules 폴더는 git에 올리지 않으니 현재 없는것이다. 이제 프로젝트에 필요한 의존성을 설치해줘야할 차례이다. 이전 단계에서 npm 모듈까지 다 설치되었으니 프로젝트 경로에서 아래 명령어를 수행해 의존성을 설치해주자.
npm install
위처럼 진행하면 의존성 설치 완료다. 동일하게 backend, frontend 모두 진행해주자.
서버 실행
자 이제, 앱을 구동할 nodejs 환경도 구성했고, git 저장소에있는 프로젝트를 연동해서 내 리눅스 서버까지 가져왔고, 프로젝트를 구동하기 위한 의존성까지 모두 설치가 되었다.. 이제 정상적으로 돌아가는지 실행을 해보자!
npm run start
#or
npm run debug
그럼 정상적으로 실행되는 것을 볼 수 있다. 이제 내 리눅스 서버에서 내가만든 express api 백앤드가 동작하는 것이다. 동일하게 react 앱도 구동시키면 된다.