• [Node.js] 개발환경 구축하기

    2023. 7. 2.

    by. dotoriii

    📌 주의사항 📌

    MobaXterm, Intellij, Postman을 사용할 예정이다. 이 모든 것이 설치가 되어 있어야 한다.

    AWS의 EC2를 연결하는 과정이 포함되어 있으니, EC2를 생성한 후 해당 과정을 진행하기를 바란다.

     

    1. MobaXterm에서 작업하기

    (0) 전체 코드

    sudo su
    apt update
    apt upgrade -y
    
    apt install nginx -y
    systemctl status nginx
    
    cd /var/www/
    git clone [repo 주소]
    
    ls
    cd api-server-node
    ls
    rm -rf .git
    
    apt update
    apt install npm
    ls
    npm install 
    ls // node_modules 생성 확인

    (1) 최신 버전으로 업데이트하기

    sudo su
    apt update
    apt upgrade -y

    (2) nginx 설치하기

    apt install nginx -y
    systemctl status nginx

    (3) 작업할 위치로 이동하기

    cd /var/www/
    git clone [repo 주소]
    
    ls
    cd api-server-node
    ls
    rm -rf .git

    (4) npm 설치하기

    apt update
    apt install npm
    ls
    npm install 
    ls // node_modules 생성 확인

     

    2. Intellij에서 EC2 연결하기

    (1) Configuration으로 이동하기

    ⛏️ 경로: 상단바의 Tools > Deployment > Configuration

    (2) Configuration 설정하기 - SFTP 연결 추가하기

    (3) Configuration 설정하기 - SSH configurations의 ... 표시 클릭하여 이동하기

    설정은 다음과 같다.

    • Host: EC2의 public IP
    • Username: ubuntu(필자의 경우 ubuntu로 설정하였음)
    • Authentication type: Key pair
    • Private key file: 발급한 key인 ***.pem을 넣어주기

    모두 입력을 완료했다면 Test Connetction을 클릭한다.

    다음과 같은 문구가 나온다면 성공!

    Connection to ubuntu@**.**.**.**:**
    Successfully connected!

     

    (4) Configuration 설정하기 - 나머지 입력하기

    • Root path: /var/www/api-server-node
    • Web server URL: EC2의 public IP

    모든 설정을 완료하면 Remote Host에 본인이 git clone한 저장소에 존재하는 파일들이 뜨는 것을 확인할 수 있다.

     

    3. Postman에서 서버 접속하기

    (0) 서버 실행하기

    node index.js

    MobaXterm 또는 Intellij의 Tools>Start SSH session을 통해 위와 같은 코드를 입력하면, 서버가 작동된다.

     

    (1) http://EC2 public IP:3000 test하기

    Postman을 실행해 Get에 http://EC2 public IP:3000를 입력한다.

    이때, EC2 인바운드 규칙에 추가적인 설정이 필요하다.

    • IPv4: 사용자 지정 TCP + port 번호 3000
    • IPv6: 사용자 지정 TCP + port 번호 3000

     

    (2) http://EC2 public IP test하기 (:3000 없음)

    매번 IP 주소에 :3000을 추가해 주는 것은 피곤한 일이다. 이젠 :3000을 제거하여 test를 할 수 있도록 하겠다.

    두 가지의 과정이 필요하다.

    첫 번째는 파일의 수정 부분이다. 필자는 블로그를 참고해 진행했다.

    ⛏️ 참고 주소: https://sanghaklee.tistory.com/11

    두 번째는 EC2 인바운드 규칙에 추가적인 설정이다.

    • IPv4: 사용자 지정 TCP + port 번호 80
    • IPv6: 사용자 지정 TCP + port 번호 80

     

    4. MobaXterm에서 pm2 설치하기

    (0) 설치의 이유

    프로젝트가 잘 작동되는지 확인하기 위해선 서버 실행은 필수적이다. 이때, 우리가 실행한 대로 매번 MobaXterm에서 node index.js를 입력해 서버를 구동하기엔 실질적인 어려움이 있다. 프론트 파트가 확인을 원하는 시간에 백 파트의 부재가 발생할 수 있기 때문이다. 이를 위해 pm2 설치를 할 것이다. 

    pm2는 무중단 서버로, 백 파트 대신 서버 작동을 자동적으로 해주게 된다.

     

    (1) 설치하기

    npm install pm2 -g

    (2) 실행하기

    pm2 start index.js
    pm2 log
    pm2 status

    댓글

Designed by Nana