>웹 프론트엔드 >JS 튜토리얼 >PM2를 사용하여 nodejs 프로세스 공유 관리

PM2를 사용하여 nodejs 프로세스 공유 관리

小云云
小云云원래의
2018-01-03 13:44:101683검색

pm2는 로드 밸런싱 기능을 갖춘 Node 애플리케이션용 프로세스 관리자입니다. 이 글에서는 주로 PM2를 사용하여 nodejs 프로세스를 관리하는 방법이 꽤 좋다고 생각합니다. . 편집자를 따라 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.

PM2는 독립 실행형 코드가 모든 서버의 모든 CPU를 활용하고 0초 재로드로 프로세스가 항상 활성화되도록 하려는 경우에 적합합니다.

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

관련 권장 사항:

PM2를 사용하여 Node.js 클러스터링을 더 쉽게 만드는 방법

PM2.5 데이터 수집_PHP 튜토리얼

PHP FastCGI 프로세스 관리자 PHP-FPM 아키텍처

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.