본문 바로가기
Linux/Ubuntu

Ubuntu 서버에 Nginx와 Node.js 설치하기

by 후쮸아빠 2023. 7. 16.

이 포스트에서는 Ubuntu 서버에 Nginx와 Node.js를 설치하고 설정하는 과정을 설명하겠습니다.

 

서버 구성

  • Oracle Cloud
  • 구성 : VM.Standard.A1.Flex
  • OCPU : 4
  • Memory : 24GB
  • Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-1027-oracle aarch64)

 

Step 1: Ubuntu 업데이트

우선, 모든 패키지가 최신 상태인지 확인합니다:

sudo apt-get update
sudo apt-get upgrade

 

Step 2: Nginx 설치

Nginx는 가장 인기 있는 웹 서버 중 하나로, 높은 동시 연결 처리 능력과 역방향 프록시 기능 등으로 알려져 있습니다.

 

Nginx를 설치하려면 다음 명령을 실행합니다:

sudo apt-get install nginx

 

Step 3: 방화벽 설정

Nginx가 동작하려면 방화벽에서 HTTP와 HTTPS 트래픽을 허용해야 합니다.

 

  • UFW 방화벽을 사용한다면, 다음 명령을 사용합니다:
sudo ufw allow 'Nginx Full'

 

  • firewalld를 사용하는 경우 다음의 명령어를 사용합니다:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

 

Step 4: Node.js 설치

Node.js는 서버 사이드 JavaScript 런타임입니다.Node.js를 설치하기 위해 NodeSource라는 공식 Node.js 저장소를 사용하겠습니다. 이는 Node.js의 최신 버전을 설치하려면 권장되는 방법입니다.

 

먼저, 커맨드라인에서 다음 명령어를 입력하여 curl을 설치하고 NodeSource 설정 스크립트를 다운로드 및 실행합니다:

sudo apt install curl
curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\
sudo apt-get install -y nodejs

Node.js가 올바르게 설치되었는지 확인하기 위해, 다음 명령어를 통해 Node.js 및 npm의 버전을 확인합니다:

node -v
npm -v

 

Step 5 : Node.js 웹 어플리케이션 테스트

테스트 폴더 생성 및 테스트 코드 작성:

sudo mkdir -p test
cd test/
sudo nano test.js

테스트 코드 :

var http=require('http');

http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type':'text/plain'});
        res.write('-------------'+"\n");
        res.write('node.js test!'+"\n");
        res.write('-------------'+"\n");
        res.end();
}).listen(7777);

Node.js 웹 어플리케이션 실행:

 node test.js &

 

Step 6: Nginx를 사용하여 Node.js 애플리케이션 서빙

이제 Node.js 애플리케이션을 Nginx를 사용하여 서빙할 수 있습니다.

 

설정 파일을 /etc/nginx/sites-available/ 디렉토리에 저장하고, /etc/nginx/sites-enabled/로 심볼릭 링크를 생성합니다:

'you-config' 파일을 새로 생성해도 되며, Default 파일을 바로 수정 할 경우에는 심볼릭 링크를 따로 생성하지 않아도 됩니다. 

 

저의 경우는 Default 파일을 백업하고 Default 파일에 바로 수정하여 심볼릭 링크는 따로 생성하지 않았습니다. 

sudo ln -s /etc/nginx/sites-available/your-config /etc/nginx/sites-enabled/

다음은 Nginx 설정 파일의 예입니다:

server {
    listen 80;

    server_name nodejs nodejs.kgoon.net;  # Node.js Server Name 및 도메인 주소

    location / {
        proxy_pass http://localhost:7777; # Node.js 앱이 동작하는 주소
        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를 재시작하여 변경 사항을 적용합니다:

sudo systemctl restart nginx

 

Step 7 : 웹 접속 테스트

웹 브라우저에서 Nginx에 설정한 도메인 주소로 접속 테스트를 합니다.


이 가이드를 통해 Ubuntu 서버에 Nginx와 Node.js를 설치하고, Nginx를 사용하여 Node.js 애플리케이션을 서빙하는 방법을 알아보았습니다. 이제 자신만의 웹 애플리케이션을 배포해보세요!

'Linux > Ubuntu' 카테고리의 다른 글

Ubuntu 시스템 최신 패키지로 업데이트  (0) 2023.07.10