컴퓨터 지식 네트워크 - 컴퓨터 백과사전 - Ubuntu 에서 PM2 및 Nginx 를 사용하여 Node.js 응용 프로그램을 배포하는 방법

Ubuntu 에서 PM2 및 Nginx 를 사용하여 Node.js 응용 프로그램을 배포하는 방법

Ubuntu 16.04 64 비트

루트 권한

1- node.jslts 를 설치합니다.

이 가이드에서는 처음부터 실험을 시작하겠습니다. 먼저 서버에 Node.js 를 설치해야 합니다. Nodejs LTS 버전 6.x 를 사용하겠습니다. nodesource 저장소에서 설치할 수 있습니다.

Ubuntu 라이브러리에서 python-software-properties 패키지를 설치하고 node source”Nodejs 라이브러리를 추가합니다.

Sudo apt-get install-y python- 소프트웨어-속성

Curl -sL /setup_6.x | sudo -E bash-

최신 버전의 Nodejs LTS 를 설치하려면 :

Sudo apt-get install -y 노드

설치가 완료되면 노드와 NPM 버전을 확인합니다.

노드 v

Npm -v

2 단계-빠른 샘플 응용 프로그램 생성

Express-generator 패키지에서 생성된 간단한 웹 어플리케이션 프레임워크를 사용하여 설치하겠습니다. Express-generator 는 NPM 명령을 사용하여 설치할 수 있습니다.

Npm 이 장착된 고속 발전기 설치:

Npm 설치 고속 발전기 g

-g: 시스템 내부에 패키지를 설치합니다.

루트 또는 수퍼유저가 아닌 일반 사용자로 어플리케이션을 실행합니다. 먼저 새 사용자를 만들어야 합니다.

Yume 이라는 사용자를 만들려면 다음과 같이 하십시오.

Useradd -m -s /bin/bash yume

Passwd yume

Su 명령을 사용하여 새 사용자에 로그인:

수매

다음으로 express 명령을 사용하여 새로운 간단한 웹 응용 프로그램을 생성합니다.

빠른 hakase-app

이 명령은 새 프로젝트 디렉토리인 hakase-app 를 만듭니다.

프로젝트 디렉토리로 이동하여 응용 프로그램에 필요한 모든 종속성을 설치합니다.

Cd hakase-app

Npm 설치

그런 다음 다음 명령을 사용하여 새로운 간단한 응용 프로그램을 테스트하고 시작합니다.

DEBUG=myapp:* NPM 시작

기본적으로 express 애플리케이션은 포트 3000 에서 실행됩니다. 이제 서버의 IP 주소:192.168.33.10: 3000:

이 간단한 웹 응용 프로그램 프레임워크는 이제 포트 3000 에서' yume' 사용자로 실행됩니다.

3 단계-PM2 설치

Pm2 는 NPM 명령을 통해 설치할 수 있는 노드 패키지입니다. (루트 권한을 사용하여 여전히 yume 사용자로 로그인한 경우 root 명령을 실행하여 다시 루트 사용자가 됩니다.):

Npm 설치 PM2 -g

이제 웹 응용 프로그램에 PM2 를 사용할 수 있습니다.

응용 프로그램 디렉토리 hakase-app 로 이동합니다.

수매

Cd ~/hakase-app/

여기서 package.json 이라는 파일을 보고 cat 명령을 사용하여 내용을 표시할 수 있습니다.

Cat package.json

시작 줄에는 express 응용 프로그램을 시작하는 nodejs 명령이 있습니다. Pm2 프로세스 관리자에서 이 명령을 사용하겠습니다.

다음과 같이 PM2 명령을 사용하여 express 응용 프로그램을 실행합니다.

Pm2 가 시작됩니다. /bin/www

이제 이런 결과를 볼 수 있습니다.

당사의 express 응용 프로그램은 이름이 www 이고 id 가 0 인 PM2 에서 실행됩니다. Show 옵션 show nodeid|name 을 사용하면 PM2 에서 실행되는 응용 프로그램에 대한 자세한 정보를 얻을 수 있습니다.

Pm2 표시 www

애플리케이션 로그를 보려면 logs 옵션을 사용할 수 있습니다. 여기에는 액세스 및 오류 로그가 포함되며 응용 프로그램의 HTTP 상태도 표시됩니다.

Pm2 로그 www

우리 프로그램이 실행 중임을 알 수 있습니다. 자, 스스로 작동시켜 봅시다.

Pm2 부트 시스템 d

Systemd: Ubuntu 16 은 Systemd 를 사용합니다.

Root 사용자로 명령을 실행할지 묻는 메시지가 표시됩니다. Exit 명령을 사용하여 root 로 돌아가서 명령을 실행합니다.

Sudo envpath = $ path:/usr/bin/usr/lib/node _ modules/PM2/bin/PM2 부트 시스템 d-u yume-HP-

시작 응용 프로그램에 대한 systemd 구성 파일을 생성합니다. 서버를 다시 시작하면 응용 프로그램이 자동으로 실행됩니다.

4 단계-Nginx 설치 및 리버스 프록시로 구성

이 설명서에서는 노드 애플리케이션의 역방향 프록시로 Nginx 를 사용합니다. Ubuntu 라이브러리에 Nginx 가 있습니다. apt 명령을 사용하여 설치합니다.

Sudo apt-get install -y nginx

다음으로 사이트 사용 가능 디렉토리로 이동하여 새 가상 호스트 구성 파일을 생성합니다.

CD/etc/nginx/sites- 사용 가능/

Vim hakase-app

다음 구성을 붙여 넣습니다.

업스트림 hakase-app {

# Nodejs 애플리케이션 업스트림

서버127.0.0.1:3000;

Keepalive 64

}

# 포트 80 의 서버

서버 {

80 을 듣다

서버 이름 hakase-node.co;;

Root/home/yume/hakase-app;

위치/{

# Proxy_pass 구성

Proxy _ set _ header x-forwarded-for $ proxy _ add _ x _ forwarded _ for;

Proxy _ set _ headerhost $ http _ host;

Proxy _ set _ header x-nginx-proxytrue;

Proxy _ http _ version1.1;

Proxy _ set _ headerupgrade $ http _ upgrade;

Proxy_set_header 연결 업그레이드;

Proxy _ max _ temp _ file _ size0;

Proxy _ pass http://hakase-app/;

Proxy _ redirect off

Proxy _ read _ timeout 240s

}

}

파일을 저장하고 vim 을 종료합니다.

구성에서 다음을 수행합니다.

노드 응용 프로그램은 도메인 이름 hakase-node.co 를 사용하여 실행됩니다.

Nginx 의 모든 트래픽은 포트 3000 에서 실행되는 노드 어플리케이션으로 전달됩니다.

Nginx 구성을 테스트하여 오류가 없는지 확인합니다.

Nginx -t

Nginx 를 활성화하고 시작합니다.

Systemctl 시작 nginx

Systemctl nginx 활성화

5 단계-테스트

웹 브라우저를 열고 도메인 이름 (내 것): http://hakase-app.co 를 방문하십시오.

Express 애플리케이션이 nginx 웹 서버에서 실행 중임을 알 수 있습니다.

다음으로, 노드 애플리케이션이 자동으로 부팅되도록 서버를 재부팅합니다.

Pm2 저장

Sudo 재부팅

서버에 다시 로그인하는 경우 노드 응용 프로그램 프로세스를 확인합니다. Yume 사용자로 다음 명령을 실행합니다.

수매

Pm2 상태 www

上篇: 샤오미 핸드폰을 직접 조립하는 법 下篇: 시티 히어로는 어떻습니까? 좋아요? 구매할 가치가 있나요?
관련 내용