Classic 환경에서 이용 가능합니다.
사용하기 전에
Q. Node.js 상품은 무엇인가요?
- Node.js 상품은 "Linux + Node.js" Stack 설치 프로세스를 원클릭으로 시작할 수 있는 설치형 서비스 상품입니다.
- Node.js 상품은 리눅스를 운영체제로 사용하면서, Node.js를 활용한 Javascript Development Stack 서비스 플랫폼입니다.
- Node.js 상품은 안정성이 우수한 네이버 클라우드 플랫폼의 Compute 인프라 서비스에 자동으로 구성되며, 몇 단계의 설정을 통해 즉시 서비스에 투입할 수 있습니다.
Q. Node.js 상품을 사용하면 어떤 이점이 있나요?
- 네이버 클라우드 플랫폼의 인프라를 활용하여 안정적으로 Node.js Development Stack 서비스를 제공할 수 있습니다.
- 서버 이미지와 스펙을 선택하여 Node.js 서버를 자동으로 설치하고, Node.js 서비스를 시작할 수 있습니다.
Q. Node.js 서버는 어떻게 생성하나요?
- 콘솔의 Compute > Server 메뉴에서 Node.js 서버 이미지를 선택하여 생성할 수 있습니다.
- 원하는 사양의 서버를 생성하고 필요에 따라 스토리지를 추가합니다.
- 월 요금제와 시간 요금제로 청구되며, 서버를 생성한 후 접속 환경을 설정하여 이용할 수 있습니다.
- Node.js 웹 서비스를 이용하기 위해서 공인 IP 주소를 신청하고 ACG 설정에서
Server Port
포트를 추가해야 합니다.(Port는 변경 가능합니다.) - 콘솔에 접속한 후 다음의 단계를 통해 쉽게 서버를 생성할 수 있습니다.
Q. Node.js 상품에 설치되는 오픈소스는 어떤것이 있나요?
- Node.js 상품의 오픈소스는 아래와 같이 제공됩니다.
- nvm(node version manager)
Q. Node.js Web 서비스에 접속할 수 없습니다.
- Node.js Web 서비스를 사용하기 위해서는 공인 IP 주소를 신청하여 서버에 할당해야 하며, ACG에
Web Server Port
포트가 추가되어 있어야 합니다. - 공인 IP 주소와 ACG를 확인한 후에도 접속되지 않는 경우 웹 서버 프로세스가 정지된 상태일 수 있으니, 터미널에서 재시작 명령어를 실행하여 프로세스를 다시 시작하십시오.
Q. Node.js 상품은 어느 디렉터리에 설치되나요?
- Node.js 상품의 파일 위치는
/root/nodejs
,/root/.nvm
입니다. - 데이터 유실을 방지하기 위해 설치 경로를 백업해 두는 것을 권장합니다.
Node.js 서버 생성
Node.js 서버 생성 및 서비스 접속 과정은 네이버 클라우드 플랫폼의 Application 설치형 상품과 동일합니다. 설치형 상품의 서버 생성 과정을 참고하여 Node.js 서버를 생성하고 서비스에 접속할 수 있습니다.
Step 1. 콘솔 접속
콘솔에 접속해서 Compute > Server 메뉴를 선택합니다.
① 서버를 생성하려면 서버 생성 버튼을 클릭합니다.
Step 2. 서버 이미지 선택
Node.js 서버 이미지를 선택해서 서버를 생성합니다.
① Node.js 이미지를 선택합니다.
② 팝업 창의 안내(공인 IP 주소 확인, ACG 신청, 초기 비밀번호 확인)를 확인합니다.
③ 확인 버튼을 클릭하면 팝업창이 닫히면서 서버 정보 입력 화면으로 이동합니다.
Step 3. 서버 설정
스토리지 종류, 서버 타입, 요금제, Zone을 선택하고 서버 이름을 입력합니다.
① Zone을 선택합니다.
- Node.js 서비스는 모든 Region에서 지원되고 있습니다.
② 부팅 스토리지로 사용할 스토리지 종류를 선택합니다.
③ 원하는 서버 타입을 선택합니다.
- 일부 서버 스펙은 부팅 디스크 타입에 따라 지원되지 않을 수 있습니다.
- 사용 용량에 따라 서버 타입 중 하나를 선택하세요.
④ 요금제는 월요금제 또는 시간 요금제 중 선택할 수 있습니다.
⑤ 서버 이름을 입력합니다.
- 고객이 서버를 구별하기 위한 명칭으로, 중복해서 사용할 수 없습니다.
⑥ 다음 버튼을 클릭합니다.
Step 4. 인증키 설정
보유하고 있는 인증키가 있는 경우 보유하고 있는 인증키 이용을 선택하고, 없는 경우 아래의 절차대로 새로운 인증키를 생성합니다.
① 새로운 인증키 생성을 선택합니다.
② 인증키 이름을 입력합니다.
③ 인증키 생성 및 저장 버튼을 클릭하여 로컬 PC에 인증키 파일을 저장합니다.
- 새로운 인증키를 발급받습니다.
- 저장 후 인증키는 고객의 PC 안전한 위치에 보관해 주십시오.
- 인증키는 최초의 관리자 비밀번호를 가져올 때 이용됩니다.
④ 다음 버튼을 클릭합니다.
Step 5. ACG 설정
보유하고 있는 ACG를 이용하거나 신규 ACG를 생성하여 방화벽을 설정할 수 있습니다.
보유하고 있는 ACG 이용
보유하고 있는 ACG를 이용하여 방화벽을 설정하는 방법은 다음과 같습니다.
① ACG는 필수로 선택해야 하며, 기본으로 제공하는 ‘ncloud-default-acg’를 포함하여 보유하고 있는 ACG 중에서 하나를 선택합니다.
- 보유하고 있는 ACG는 최대 5개까지 선택할 수 있습니다.
- 필수로 ACG를 선택해야 다음 버튼이 활성화되어 설정을 진행할 수 있습니다.
② 보유하고 있는 ACG 외에 신규 ACG를 생성하여 설정하고 싶다면 신규 ACG 생성을 선택합니다.
③ 다음 버튼을 클릭합니다.
새로 ACG 생성
새로 ACG를 생성하여 방화벽을 설정하는 방법은 다음과 같습니다.
① 신규 ACG 생성에서 ACG 생성 버튼을 클릭합니다.
② ACG 이름을 입력합니다.
③ ACG 설정에서 프로토콜, 접근 소스, 허용 포트를 입력하고 생성합니다.
- 프로토콜: TCP, UDP, ICMP에서 선택
- 접근 소스: IP 주소 또는 ACG명 입력
- 허용 포트: 단일 포트 또는 범위 지정
- 터미널 접속을 위해서는 접속하려는 서버의 ACG에 SSH 'TCP/22'에 대한 규칙이 설정되어 있어야 합니다. 규칙을 추가하려면 프로토콜, 접근 소스, 허용 포트를 기재하고 추가 버튼을 클릭합니다.
④ 서비스 포트가 모두 추가된 경우 생성 버튼을 클릭합니다.
Step 6. 최종 확인
설정한 내용을 최종 확인합니다.
① 서버 이미지, 서버, 인증키, ACG가 정상적으로 설정되었는지 확인합니다.
② 최종 확인 후에는 서버 생성 버튼을 클릭합니다.
- 서버가 생성되기까지는 수 분에서 수십 분이 소요됩니다.
서버 목록에서 확인
생성한 서버를 목록에서 확인합니다.
① 생성한 서버가 목록에 표시됩니다.
② 서버가 생성되고 Node.js 패키지가 설치 완료되어 서버 상태가 운영중이 될 때까지 대기합니다.
접속 환경 설정
공인 IP 주소 사용 신청
Node.js 상품을 사용하려면 반드시 공인 IP 주소를 이용해서 접속해야 하며, 공인 IP 주소 사용에 대한 요금이 별도로 부과됩니다.
① 좌측 메뉴에서 PUBLIC IP 메뉴를 선택합니다. 공인 IP 주소를 할당받으려면 공인 IP 신청 버튼을 클릭합니다.
② 적용 서버 선택에서 공인 IP 주소를 할당할 Node.js 서버를 선택합니다.
③ 다음 버튼을 클릭합니다. 적용 서버 이름을 확인하고 다시 생성 버튼을 클릭합니다.
포트 포워딩 설정
터미널 프로그램(PuTTY 등)으로 서버에 접속하려면 포트 포워딩을 설정해야 합니다.
① 좌측 메뉴에서 Server 메뉴를 선택합니다. 서버에 접속하려면 포트 포워딩 설정 버튼을 클릭합니다.
② 포트 포워딩 설정 화면에서 외부 포트 번호를 설정합니다. 외부 포트 번호의 입력 범위는 1024~65,534로, 서버 접속을 위한 기능 외에 서비스 용도로 사용할 수 없습니다.
(내부 포트 번호는 22로 정해져 있습니다.)
③ 추가 버튼을 클릭하면 설정 내역이 하단에 추가되며 수정, 삭제 버튼을 클릭하여 설정 내역을 수정, 삭제할 수 있습니다.
④ 적용 버튼을 클릭하면 설정한 외부 포트로 터미널 프로그램을 이용하여 SSH 접속을 할 수 있습니다.
ACG 생성
ACG에 터미널 접속 SSH('TCP/22') 및 Node.js 서비스('TCP/UDP' 설정) 규칙을 추가합니다. 서버 생성 시 규칙을 이미 추가한 경우는 이 단계의 ACG 설정 작업을 수행할 필요가 없습니다.
① 왼쪽의 메뉴에서 ACG 메뉴를 선택하고 상단의 ACG 생성 버튼을 클릭합니다.
② ACG 이름을 입력합니다.
③ 설정이 완료되면 생성 버튼을 클릭합니다.
ACG 설정
① 생성한 ACG를 선택합니다.
② 상단 ACG 설정 버튼을 클릭합니다.
③ ACG 규칙 설정에서 프로토콜, 접근 소스, 허용 포트를 입력하고 생성합니다.
- 프로토콜: TCP, UDP, ICMP에서 선택
- 접근 소스: IP 주소 또는 ACG명 입력
- 허용 포트: 단일 포트 또는 범위 지정
터미널 접속을 위해서는 접속하려는 서버의 ACG에 SSH 'TCP/22'에 대한 규칙이 설정되어 있어야 합니다. 규칙을 추가하려면 프로토콜, 접근 소스, 허용 포트를 기재하고 추가 버튼을 클릭합니다.
④ 설정이 완료되면 적용 버튼을 클릭합니다.
서버 관리자 비밀번호 확인
터미널 프로그램(PuTTY 등)으로 서버에 접속하려면 관리자 비밀번호를 알아야 합니다.
① 좌측 메뉴에서 Server 메뉴를 선택합니다.
② 해당 서버를 선택하고, 서버 관리 및 설정 변경에서 관리자 비밀번호 확인을 선택합니다.
③ Drop files here or click to upload 버튼을 클릭해 서버 생성 시 개인 PC에 저장한 인증키 파일(.pem)을 첨부합니다.
④ 첨부 후 비밀번호 확인 버튼을 클릭하면 터미널 프로그램으로 최초 서버 접속 시 사용할 비밀번호를 얻을 수 있습니다.
- 서버에 접속 후 관리자가 기억할 수 있는 비밀번호로 변경하여 사용하는 것을 권장합니다.
터미널 접속
터미널 프로그램(PuTTY 등)으로 서버에 접속해서 서비스 프로세스를 관리할 수 있습니다.
터미널 프로그램으로 서버 접속
① 터미널 프로그램(PuTTY 등)을 실행합니다.
② 서버 리스트 또는 내용 보기에서 확인한 '서버 접속용 공인 IP'와 '외부 포트'의 값을 입력하고 Open 버튼을 클릭하면 서버에 접속됩니다.
- 서버 접속용 공인 IP 확인: 콘솔의 Server > Server 메뉴에서 서버 선택 후 상세정보에서 포트 포워딩 정보의 서버 접속용 공인 IP 값 확인
- 외부 포트 번호 확인: 콘솔의 Server > Server 메뉴에서 서버 선택 후 상세정보에서 포트 포워딩 정보의 외부 포트 값 확인
③ 사용자 정보 및 암호를 입력하고 로그인합니다.
- login as: root
- password: 위에서 확인한 관리자 비밀번호
④ 로그인 후에는 root 계정의 비밀번호를 기억할 수 있는 비밀번호로 변경할 것을 권장합니다.
passwd root
명령어를 입력한 후 새 비밀번호를 입력합니다.
Node.js 서버 사용하기
Node.js 서버 이미지 생성 시 Node.js Development Package가 설치되어 쉽게 사용할 수 있습니다.
아래와 같이 nvm(node version manager)을 통하여 설치된 정보를 확인할 수 있습니다.
nvm 원격 버전 확인하기
nvm list-remote
... v11.5.0 v11.6.0 v11.7.0 v11.8.0 v11.9.0 v11.10.0 v11.10.1 v11.11.0 v11.12.0 v11.13.0 v11.14.0 v11.15.0 v12.0.0 v12.1.0 v12.2.0 v12.3.0 -> v12.3.1 v12.4.0
nvm 원하는 버전 설치하기
nvm install v12.3.1
nvm 현재 활성화된 버전 확인하기
nvm current
v12.3.1
nvm 설치된 버전 확인하기
nvm ls
-> v12.3.1 system
nvm Alias 설정하기
nvm alias default v12.3.1
default -> v12.3.1
nvm 도움말 활용하기
nvm --help
Node Version Manager Usage: nvm help Show this message nvm --version Print out the latest released version of nvm nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available nvm uninstall <version> Uninstall a version nvm use <version> Modify PATH to use <version>. Uses .nvmrc if available nvm run <version> [<args>] Run <version> with <args> as arguments. Uses .nvmrc if available for <version> nvm current Display currently activated version nvm ls List installed versions nvm ls <version> List versions matching a given description nvm ls-remote List remote versions available for install nvm deactivate Undo effects of NVM on current shell nvm alias [<pattern>] Show all aliases beginning with <pattern> nvm alias <name> <version> Set an alias named <name> pointing to <version> nvm unalias <name> Deletes the alias named <name> nvm copy-packages <version> Install global NPM packages contained in <version> to current version nvm unload Unload NVM from shell Example: nvm install v0.10.24 Install a specific version number nvm use 0.10 Use the latest available 0.10.x release nvm run 0.10.24 myApp.js Run myApp.js using node v0.10.24 nvm alias default 0.10.24 Set default node version on a shell Note: to remove, delete, or uninstall nvm - just remove ~/.nvm, ~/.npm, and ~/.bower folders
Node.js Express 활용하기 예제
아래와 같이 Express Module의 예제 파일을 작성하여 Web Server를 활용할 수 있습니다.
vi hello.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello Express Server!');
});
app.listen(3000, function () {
console.log('Express App Server : Listening on port 3000!');
});
node
버전을 변경한 경우 위의 예제를 실행하기 위해서는 아래와 같이 npm
으로
express
와 pm2
모듈을 설치해야 합니다.
- 설치가 필요한 모듈 : express, pm2
# nvm 현재 활성화된 버전 확인하기
nvm current
# nvm 버전을 변경하는 명령어 (원하는 버전으로 변경)
nvm use v12.3.1
# npm을 이용하여 express 모듈을 설치하는 명령어
npm install -p --save express
# npm을 이용하여 pm2 모듈을 설치하는 명령어
npm install -g --save pm2
아래와 같이 Express Module의 예제 파일을 실행합니다.
node hello.js
...
Express App Server : Listening on port 3000!
위의 Express Server 예제 실행 후 브라우저로 접근하기 위해서는 3000
포트에 대해서 ACG 설정을 해야합니다.
본 설명서의 ACG 설정
을 참고하여, 해당 서버의 포트를 Open 할 수 있습니다.
원격 터미널에서 아래와 같이 실행하면, Express Web Server 실행결과를 확인할 수 있습니다.
curl http://{Your Public IP}:3000
...
Hello Express Server!
pm2 모니터링 활용하기
아래와 같이 Node.js 상품과 함께 설치된 pm2
모듈을 활용하면, 간단한 모니터링을 할 수 있습니다.
pm2 start -f hello.js
아래와 같이 pm2
모듈을 활용하여, 실행된 Node Application을 확인할 수 있습니다.
연관 정보 바로가기
네이버 클라우드 플랫폼 Node.js 상품에서 사용되는 소프트웨어에 대한 자세한 내용은 다음 웹페이지를 확인하십시오.
아래 설명서(구, 사용자 가이드)에서 연관 정보를 확인할 수 있습니다.