자바스크립트와 Nginx를 활용한 Node.js 배포 방법
목차
Node.js란?
Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 자바스크립트 런타임입니다. 서버 사이드 애플리케이션 개발에 사용되며, 싱글 스레드 이벤트 루프 기반의 비동기식 I/O 처리 모델을 제공하여 높은 성능을 제공합니다.
Nginx란?
Nginx는 웹 서버 소프트웨어로서, Lightweight를 강조한 고성능 웹서버로 알려져 있습니다. Reverse Proxy, Load Balancer, HTTP Cache 등 다양한 기능을 가지고 있어 많은 서비스에서 사용되고 있습니다.
Node.js 애플리케이션 배포 과정
일반적으로 Node.js 애플리케이션의 배포 과정은 다음과 같습니다:
- 애플리케이션의 종속성(node_modules) 설치하기 위해 패키지 매니저(npm 또는 yarn)를 사용합니다.
- 애플리케이션을 실행하고 실행 중인 상태를 유지하기 위해 프로세스 관리자(pm2 등)를 사용합니다.
- 배포를 위해 애플리케이션의 소스 코드를 원격 서버로 전달합니다.
- 원격 서버에서 애플리케이션을 실행하고 프록시 서버에 연결합니다.
Nginx를 통한 Node.js 애플리케이션 배포 방법
- Nginx 설치: 운영 체제에 맞는 Nginx를 설치합니다.
sudo apt-get update sudo apt-get install nginx
- Nginx 설정: Nginx의 설정 파일에 reverse proxy와 관련된 설정을 추가합니다.
sudo nano /etc/nginx/sites-available/default
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; 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; } }
- Nginx 재시작: Nginx 서버를 재시작하여 설정을 적용합니다.
sudo service nginx restart
- Node.js 애플리케이션 실행: Node.js 애플리케이션을 실행합니다.
node app.js
- 서버 접속: 브라우저에서 http://example.com과 같이 설정한 도메인으로 접속할 수 있습니다.
Node.js와 Nginx를 함께 사용하여 애플리케이션을 배포하는 방법을 알아보았습니다. 이를 통해 안정적이고 고성능의 웹 애플리케이션을 배포할 수 있습니다.