Linux Nodejs


Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 환경입니다. 이를 통해 서버 사이드에서 JavaScript 코드를 실행할 수 있습니다. Node.js는 비동기 이벤트 기반의 논 블로킹 I/O 모델을 사용하여 높은 성능을 제공하며, 주로 웹 서버 구축을 비롯한 다양한 서버 측 애플리케이션 개발에 사용됩니다.

Node.js 설치하기

1. Ubuntu에서 Node.js 설치

Node.js를 Ubuntu에서 설치하는 방법은 여러 가지가 있지만, NodeSource 저장소를 추가하여 최신 버전의 Node.js를 설치하는 것이 일반적입니다.

  1. Node.js 패키지를 설치하기 위해 패키지 관리자를 업데이트합니다.
   sudo apt update
  1. Node.js 설치를 위해 curl 명령을 사용하여 NodeSource 저장소 추가 스크립트를 다운로드합니다.
   curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -

이 명령은 NodeSource의 최신 버전 스크립트를 실행하여 Node.js 저장소를 시스템에 추가합니다.

  1. Node.js와 npm (Node Package Manager)을 설치합니다.
   sudo apt install -y nodejs
  1. 설치가 완료되면 Node.js와 npm의 버전을 확인하여 올바르게 설치되었는지 확인할 수 있습니다.
   node --version
   npm --version

2. 기본 예제 실행하기

간단한 Node.js 예제를 실행하여 설치가 잘 되었는지 확인할 수 있습니다.

  1. 새로운 디렉토리를 생성하고 해당 디렉토리로 이동합니다.
   mkdir node-example
   cd node-example
  1. 다음과 같이 app.js 파일을 생성하여 기본 예제를 작성합니다.
   // app.js
   const http = require('http');

   const hostname = '127.0.0.1';
   const port = 3000;

   const server = http.createServer((req, res) => {
     res.statusCode = 200;
     res.setHeader('Content-Type', 'text/plain');
     res.end('Hello, World!\n');
   });

   server.listen(port, hostname, () => {
     console.log(`Server running at http://${hostname}:${port}/`);
   });
  1. 다음과 같이 Node.js로 애플리케이션을 실행합니다.
   node app.js
  1. 웹 브라우저에서 http://localhost:3000에 접속하여 “Hello, World!” 메시지가 표시되는지 확인합니다.

Node.js 패키지 관리

Node.js는 npm을 통해 패키지 관리가 가능합니다. npm을 사용하여 다양한 외부 패키지를 설치하고 프로젝트에 포함시킬 수 있습니다.

예시: Express.js 설치

Express.js는 Node.js 웹 애플리케이션을 구축하기 위한 가장 인기 있는 프레임워크 중 하나입니다.

  1. Express.js를 전역으로 설치합니다.
   sudo npm install -g express
  1. Express.js를 사용하여 새로운 프로젝트를 생성합니다.
   express myapp
   cd myapp
  1. 의존성 패키지를 설치합니다.
   npm install
  1. 생성된 Express 애플리케이션을 실행합니다.
   npm start
  1. 웹 브라우저에서 http://localhost:3000에 접속하여 Express 애플리케이션을 확인합니다.

Node.js는 매우 유연하고 강력한 서버 측 개발 플랫폼으로, 다양한 웹 애플리케이션 개발에 적합합니다. 필요에 따라 다양한 패키지와 모듈을 npm을 통해 설치하여 활용할 수 있습니다.


Leave a Reply

Your email address will not be published. Required fields are marked *