PM2를 사용하여 nodejs 프로세스를 관리하는 방법에 대한 자세한 설명

小云云
풀어 주다: 2018-01-20 17:27:34
원래의
1687명이 탐색했습니다.

이 글은 주로 PM2를 사용하여 nodejs 프로세스를 관리하는 방법에 대한 자세한 설명을 소개합니다. 편집자는 이것이 꽤 좋다고 생각하므로 지금 공유하고 참고용으로 제공하겠습니다. 편집자를 따라 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.

pm2는 로드 밸런싱 기능이 있는 노드 애플리케이션용 프로세스 관리자입니다.

독립적인 코드가 모든 서버의 모든 CPU를 활용하고 프로세스가 항상 활성 상태인지 확인하려면 0초 만에 다시 로드하면 PM2가 완벽합니다.

IaaS 구조에는 매우 적합하지만 PaaS 솔루션에는 사용하지 마세요. (Paas 솔루션은 추후 개발 예정입니다.)

node index.js를 사용하는 것과 비교했을 때 장점은 다음과 같습니다.

1 하나의 명령 창으로 여러 개를 관리할 수 있습니다. 노드 서버 프로세스. node 명령에는 여러 창을 열려면 여러 프로세스가 필요합니다.

2 명령 창을 닫아도 노드 프로세스는 계속 실행됩니다. node 명령이 실행되고 창이 닫히면 프로세스도 닫힙니다.

PM2를 한 번 설치

npm install -g pm2
로그인 후 복사

두 번째로 pm2를 사용하여 index.js를 시작하세요

pm2 start index.js --name Tank

--name 탱크는 이 프로세스에 이름을 부여하는 것입니다

다른 세 개 pm2 명령

安装
npm install -g pm2

用法
$ npm install pm2 -g   # 命令行安装 pm2 
$ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js 
                # 也可以把'max' 参数传递给 start
                # 正确的进程数目依赖于Cpu的核心数目
$ pm2 start app.js --name my-api # 命名进程
$ pm2 list        # 显示所有进程状态
$ pm2 monit       # 监视所有进程
$ pm2 logs        # 显示所有进程日志
$ pm2 stop all      # 停止所有进程
$ pm2 restart all    # 重启所有进程
$ pm2 reload all     # 0秒停机重载进程 (用于 NETWORKED 进程)
$ pm2 stop 0       # 停止指定的进程
$ pm2 restart 0     # 重启指定的进程
$ pm2 startup      # 产生 init 脚本 保持进程活着
$ pm2 web        # 运行健壮的 computer API endpoint (http://localhost:9615)
$ pm2 delete 0      # 杀死指定的进程
$ pm2 delete all     # 杀死全部进程

运行进程的不同方式:
$ pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目
$ pm2 start app.js -i 3   # 启动3个进程
$ pm2 start app.js -x    #用fork模式启动 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23  # 用fork模式启动 app.js 并且传递参数 (-a 23)
$ pm2 start app.js --name serverone # 启动一个进程并把它命名为 serverone
$ pm2 stop serverone    # 停止 serverone 进程
$ pm2 start app.json    # 启动进程, 在 app.json里设置选项
$ pm2 start app.js -i max -- -a 23          #在--之后给 app.js 传递参数
$ pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件
你也可以执行用其他语言编写的app ( fork 模式):
$ pm2 start my-bash-script.sh  -x --interpreter bash
$ pm2 start my-python-script.py -x --interpreter python

0秒停机重载:
这项功能允许你重新载入代码而不用失去请求连接。
注意:
仅能用于web应用
运行于Node 0.11.x版本
运行于 cluster 模式(默认模式)
$ pm2 reload all

CoffeeScript:
$ pm2 start my_app.coffee #这就是全部

PM2准备好为产品级服务了吗?
只需在你的服务器上测试
$ git clone https://github.com/Unitech/pm2.git
$ cd pm2
$ npm install # 或者 npm install --dev ,如果devDependencies 没有安装
$ npm test
로그인 후 복사

관련 권장사항:

npm 최신 버전의 nodejs 설치에 대한 자세한 설명

NodeJs 데이터베이스 예외 처리에 대한 자세한 설명

프론트엔드와 백엔드 분리 및 실용적인 nodejs에 대한 지식 중간 계층 서비스

위 내용은 PM2를 사용하여 nodejs 프로세스를 관리하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!