>웹 프론트엔드 >프런트엔드 Q&A >nodejs 환경 구축을 위한 서버

nodejs 환경 구축을 위한 서버

王林
王林원래의
2023-05-28 11:28:38666검색

현대 웹 개발에서 Node.js는 필수적인 구성 요소가 되었습니다. JavaScript 런타임 환경으로서 JavaScript를 통해 서버 측 애플리케이션을 작성할 수 있습니다. 이번 글에서는 서버에 Node.js 환경을 설정하는 방법을 소개하겠습니다.

  1. 준비

시작하기 전에 몇 가지 준비를 해야 합니다. 먼저, 인터넷에 접속할 수 있는 서버가 필요합니다. 둘째, SSH 프로토콜을 사용하여 서버에 로그인할 수 있는 계정과 비밀번호가 필요합니다. 마지막으로 서버 운영 체제로 Linux 배포판을 선택해야 합니다.

이 기사에서는 Ubuntu Server 18.04 LTS를 데모용 예로 사용하겠습니다. 다른 Linux 배포판이나 Windows를 사용하는 경우에는 약간의 차이가 있을 수 있지만 대부분의 작업이 동일해야 합니다.

  1. Node.js 설치

Node.js 환경 구축을 시작하기 전에 먼저 Node.js와 npm을 설치해야 합니다. npm은 Node.js의 패키지 관리 도구로, Node.js의 다양한 모듈을 설치, 관리 및 업그레이드하는 데 도움이 됩니다.

먼저 시스템 패키지 목록을 업데이트해야 합니다.

sudo apt-get update

그런 다음 Node.js와 npm을 설치할 수 있습니다.

sudo apt-get install nodejs npm

설치가 완료된 후 다음을 사용하여 Node.js와 npm의 버전을 확인할 수 있습니다. command:

node -v
npm -v

버전 번호가 출력되면 Node.js와 npm이 성공적으로 설치되었음을 의미합니다.

  1. Nginx 설치

다른 사람이 Node.js 애플리케이션에 액세스할 수 있도록 하려면 웹 서버가 필요하며, 현재로서는 Nginx가 매우 적합합니다. Nginx는 정적 파일을 호스팅하고, HTTP 요청을 처리하고, 요청을 다른 서버로 전달하는 데 사용할 수 있는 고성능 HTTP 및 역방향 프록시 서버입니다.

Nginx 설치는 매우 간단합니다.

sudo apt-get install nginx

설치가 완료된 후 다음 명령을 사용하여 Nginx 서비스를 시작할 수 있습니다.

sudo systemctl start nginx

다음 명령을 사용하여 Nginx가 시작되었는지 확인할 수도 있습니다.

sudo systemctl status nginx

If "active (running)"이 출력되면 Nginx가 성공적으로 실행되었음을 의미합니다.

  1. Node.js 애플리케이션 작성

Node.js와 Nginx를 성공적으로 설치했으므로 Node.js 애플리케이션 작성을 시작할 수 있습니다. 여기서는 HTTP 서버를 생성하고 정적 "Hello World" 페이지를 반환하는 간단한 예를 들어 보겠습니다.

"app.js"라는 파일을 생성하고 다음 코드를 파일에 복사합니다.

const http = require('http');

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

server.listen(8000, () => {
  console.log('Server running at http://localhost:8000/');
});

이 앱은 포트 8000에서 수신 대기하는 HTTP 서버를 생성합니다. 요청이 수신되면 HTTP 상태 코드 200("OK"를 의미), "Content-Type"이라는 HTTP 응답 헤더 및 "Hello, World!" 콘텐츠가 포함된 응답 본문이 반환됩니다.

다음으로 다음 명령을 사용하여 애플리케이션을 실행할 수 있습니다.

node app.js

모든 것이 정상이면 콘솔은 "http://localhost:8000/에서 실행 중인 서버"와 같은 정보를 출력합니다.

이제 URL "http://localhost:8000/"을 사용하여 브라우저에서 애플리케이션에 액세스할 수 있습니다. 모든 것이 잘 진행되면 "Hello, World!"라는 페이지가 표시됩니다.

  1. pm2를 사용하여 Node.js 애플리케이션 관리

Node.js를 직접 사용하여 애플리케이션을 실행할 수 있지만 이 방법은 프로덕션 환경에서 사용하기에는 적합하지 않습니다. 더 나은 애플리케이션 관리 및 모니터링을 위해 pm2를 사용할 수 있습니다.

pm2는 시작, 중지, 다시 시작, 모니터링을 포함하여 여러 애플리케이션의 수명 주기를 관리하는 데 도움이 되는 오픈 소스 Node.js 애플리케이션 관리자입니다. 또한 자동 재시작, 클러스터 모드, 로드 밸런싱, 로깅 등과 같은 다양한 기능을 제공합니다.

pm2 설치는 매우 간단합니다.

sudo npm install -g pm2

설치가 완료되면 다음 명령을 사용하여 애플리케이션을 시작할 수 있습니다.

pm2 start app.js

이렇게 하면 "app"이라는 애플리케이션이 실행되고 백그라운드에서 실행됩니다. 다음 명령을 사용하여 애플리케이션의 상태를 볼 수 있습니다.

pm2 status

모든 것이 정상이면 콘솔은 다음 명령문과 유사한 정보를 출력합니다.

┌─────┬─────────┬───────────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ id  │ name    │ namespace │ state │ pm2 id │ version │ mode   │ pid │ uptime    │ restarts │
├─────┼─────────┼───────────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ 0   │ app     │ default   │ online│ 0      │ 0.0.0   │ cluster│ 7842│ 0s        │ 0        │
└─────┴─────────┴───────────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘

이는 애플리케이션이 성공적으로 시작되었으며 이미 배경 클러스터 모드에서 실행 중입니다. 이제 Nginx를 사용하여 포트 8000에서 실행되는 애플리케이션에 HTTP 요청을 전달할 수 있습니다.

  1. Configuring Nginx

이제 애플리케이션이 localhost:8000에서 실행되고 있지만 다른 사람이 애플리케이션에 액세스할 수 있도록 해야 합니다. 이때 Nginx를 사용하여 HTTP 요청을 포트 8000으로 전달해야 합니다.

먼저 Nginx 구성 파일을 편집해야 합니다. 다음 명령을 사용하여 기본 구성 파일을 엽니다.

sudo nano /etc/nginx/sites-available/default

파일 끝에 다음 콘텐츠를 추가합니다.

location / {
  proxy_pass http://localhost:8000;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection 'upgrade';
  proxy_set_header Host $host;
  proxy_cache_bypass $http_upgrade;
}

이렇게 하면 모든 HTTP 요청이 localhost:8000 주소로 전달됩니다.

다음으로 Nginx 서버를 다시 시작해야 합니다.

sudo systemctl restart nginx

마지막으로 다음 명령을 사용하여 애플리케이션이 제대로 실행되고 있는지 확인합니다.

pm2 status

이제 브라우저에 서버의 IP 주소를 입력하면 볼 수 있습니다. 애플리케이션.

요약

이 글에서는 서버에 Node.js 환경을 설정하는 방법을 소개합니다. 우리는 Node.js와 npm을 설치하고, Nginx를 사용하여 정적 파일을 호스팅하고 HTTP 요청을 전달하고, 간단한 Node.js 애플리케이션을 만들고, pm2를 사용하여 애플리케이션의 수명 주기를 관리했습니다. 다양한 환경에서 미세 조정이 있을 수 있지만 이러한 단계는 서버에서 Node.js 환경을 빠르게 설정하고 애플리케이션을 실행하는 데 도움이 될 것입니다.

위 내용은 nodejs 환경 구축을 위한 서버의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.