ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Node.js] API 서버 만들기 1 - 서버 환경 구축
    언어/Node.js 2023. 5. 9. 08:58
    728x90
    반응형

    1. express-generator 설치

    Node Express Generator는 Express.js 어플리케이션의 보일러플레이트(boilerplate)를 생성해주는 툴이다.

    Express.js는 Node.js를 기반으로 만들어진 웹 프레임워크로, Node.js로 웹 서버를 만들기 위한 기본적인 구조와 사항들이 미리 작성되어 있다.

    간단히 말해 사용자가 보다 쉽게 Node.js 프로젝트를 생성할 수 있도록 도와주는 툴이다.

    npm install -g express-generator

     

     

    2. 프로젝트 생성

    진행할 프로젝트 이름은 정한뒤 1.에서 설치한 express를 이용하여 프로젝트를 생성한다

     : express 프로젝트명

    express nodejs-project-name

     

    3. npm 설치

    root 디렉토리에서 생성 설치하고, 이후 프로젝트를 지정하여 npm을 실행 시켜도 되지만, 한 서버에 여러 환경을 운영 하는 경우와 권한이 없는 경우가 있으므로 2.에서 생성한 nodejs 프로젝트로 이동한 뒤 설치하도록 한다.

     

      1. 경로 이동

    cd nodejs-project-name

      2. npm 설치

    •  Ubuntu 환경
    sudo apt update
    sudo apt install nodejs npm
    • Centos 환경
    # epel repository 추가
    $ yum install epel-release
    
    # npm 과 nodejs 설치
    $ yum install -y npm nodejs

    일반적으로 nodejs를 설치하면 npm(Node Packaged Manage)도 자동으로 설치된다.

     

    4. nodejs 서버 실행

      3. 항목에서 npm을 설치한 경로에서 명령어를 입력해야 한다.

    npm start

     

    위 명령어를 입력한 터미널을 종료하면 npm 서버가 자동으로 종료된다. 데몬처럼 백그라운드에서 계속 실행을 원하는 경우 이 기능을 지원하는 모듈을 설치하면 된다. 여러가지 종류가 있지만 forever 를 예시로 들면 아래와 같다.

    # forever 모듈 설치
    npm install forever -g
    
    # forever 실행
    forever start app.js
    
    # forever 종료
    forever stop 0

     

     

    5. 실행 확인

    인터넷 주소 입력창에 해당 서버 IP:3000 으로 접속 테스트를 하거나, 로컬 환경이라면 localhost:3000 으로 접속하여 npm express가 제대로 동작하는지 확인 가능하다.

    만약 실행화면이 제대로 보이지 않는다면, 대부분의 경우 3000 포트(nodejs 기본 포트)가 닫힌게 문제일 것이다. 아래 명령어를 통해 3000 포트를 열 수 있다.

    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

     

     

    서버 설정 및 실행은 여기까지 진행하면 정상적으로 될 것이다. 간단한 예시는 다음 포스팅에서 계속

     

     


    참고

    https://velog.io/@archivvonjang/Node.js-%EA%B0%84%EB%8B%A8%ED%95%9C-API-%EC%84%9C%EB%B2%84-%EB%A7%8C%EB%93%A4%EA%B8%B0

    728x90
    반응형

    '언어 > Node.js' 카테고리의 다른 글

    [Node.js] API 서버 만들기 2 - api 호출(get,post)  (0) 2023.05.11

    댓글

Designed by Tistory.