이 포스트에서는 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 |
---|