관리 메뉴

SIMPLE & UNIQUE

3-3강 : EC2서버에 NODE 설치, 서버 구동 후 외부 접속 본문

탈잉 강의 자료/2020_비전공자도 가능한 웹 프로젝트

3-3강 : EC2서버에 NODE 설치, 서버 구동 후 외부 접속

착한코딩 2020. 8. 3. 21:55

3_3 목표 : EC2서버에 node, npm, yarn을 설치한다. 로컬에서 개발한 소스를 EC2서버로 옮기고 패키지들을 설치한다. 서버를 구동하고, 외부에서 ip로 사이트에 접속한다.

 

1. ec2 서버에 업로드할 소스파일을 tar 파일로 압축한다.

  /node_modules, /client/node_modules 폴더를 제외한 파일들을 새폴더에 복사하고, tar 파일로 압축한다.

2. Sftp를 이용해 tar 파일을 전송한다.

  mobaXterm을 열어 Sftp를 연결하고, 소스파일들을 위치시킬 폴더를 생성한다.

새로 생성한 파일에 tar 파일을 드래그해 이동시킨다.  

3. SSH로 서버 터미널에 접속해 tar파일이 있는 경로로 진입해 압축을 푼다.

  터미널에 접속되면 아래 명령어들을 순서대로 실행한다.

// root 권한으로 전환
sudo su -
// tar 파일 압축을 풀 위치로 이동
cd /home/ubuntu/taling_200127
// tar 파일 압축해제
tar -xvf tarling_200127.tar

4. node.js와 npm을 설치한다.

  아래 명령어로 ubuntu 서버에 node.js와 npm을 설치한다.

// apt-get 업데이트
sudo apt-get update
// node.js 설치
sudo apt-get install -y nodejs
// npm 설치
apt install npm 
// nodemon 설치
npm install -g nodemon

 

5. node 경로로 진입해,  package.json 파일에 작성되어 있는 패키지들을 설치한다.

  node 경로에서 아래 순서대로 명령어를 실행한다.

// node 경로로 접근
cd /home/ubuntu/taling_200127/taling0127
// pakage.json 파일에 작성된 패키지 리스트 설치
npm install

 

Sftp 창을 새로고침해보면 node 경로에, node_modules 폴더가 생성된 것을 확인할 수 있다.

 

6. react 경로(/client)로 진입해, package.json 파일에 작성되어 있는 패키지들을 설치한다.

  react경로에서 아래 순서대로 명령어를 실행한다.

// react 경로로 접근
cd /home/ubuntu/taling_200127/taling0127/client
// yarn 설치
npm install –g yarn
// pakage.json 파일에 작성된 패키지 리스트 설치
yarn install

//서버시간 변경
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
//서버시간 확인
date

6-1. yarn install로 설치되지 않는다면, npm install을 한다. 이것도 안되면, 아래 명령어로 npm을 최신화한 다음 npm install을 실행한다.

npm install -g npm@latest
sudo npm install

6-2. yarn install을 실행했을 때, [[Errno 2] No such file or directory:install] 오류가 난다면, cmdtest과 yarn을 지우고 다시 설치해야한다.

//cmdtest와 yarn을 지운다
sudo apt remove cmdtest
sudo apt remove yarn

//yarn의 공식 repository를 추가한다.
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

// yarn을 다시 설치한다.
apt-get update && sudo apt-get install yarn

//yarn install로 패키지들을 설치한다.
yarn install

6-3. react-scripts > missing required argument ERROR, react-scripts를 실행하기에 node npm버전이 너무 낮아서 발생하는 오류로 높은 버전의 nodejs, npm을 설치해준다.

// 높은 버전의 node add
curl -sL https://deb.nodesource.com/setup_$12.x | sudo -E bash -
// nodejs 설치
apt-get install -y nodejs
// npm 설치
apt-get install npm


//nodejs 삭제
apt-get purge nodejs
// 10.x 설치
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

 

Sftp 창을 새로고침해보면 react 경로에, node_modules 폴더가 생성된 것을 확인할 수 있다.

7. 로컬에서와 동일하게 yarn dev 명령어로 react, node 서버를 동시에 구동한다.

  먼저 react 경로의 package.json에서 로컬주소로 되어있는 proxy IP를 EC2서버 IP로 바꿔준다.

// react 경로로 접근
cd /home/ubuntu/taling_200127/taling0127/client
// proxy ip 수정을 위해, vi 명령어로 에디터를 실행한다.
vi package.json

아래와 같이 에디터가 실행되면 i > enter 로 수정모드로 변경하고

커서를 이동해 맨 아래 proxy 부분을 아래와 같이 수정한다.

esc > :wq 로 수정된 사항을 저장한다.

 

node 경로에서 yarn dev 명령어로 서버를 구동한다.

Software tools 목록에 진입하고, 로컬서버와 동일하게 아래와 같은 페이지가 노출되는지 확인한다.

 

https://taling.me/Talent/Detail/19341

 

[비전공자도 가능한 웹 프로젝트] 개발부터 배포까지, 배우면서 완성(react,nodejs,mysql,aws)! | 탈잉

✔ 수업 목표 & 5주 뒤 결과물 만들고 싶은 서비스를 직접 구현하게 됩니다. 사람들이 방문하고 액션을 할 수 있는 웹 페이지를 제작 & 배포하는 것까지 진행됩니다. 여러분이 개발 경험이 있든 ��

taling.me:443

강의 문의 : ljung5@naver.com

Comments