Nod.Js部署配置pm2的过程是什么,pm2有哪些特征
Admin 2022-08-16 群英技术资讯 1285 次浏览
这篇文章主要介绍“Nod.Js部署配置pm2的过程是什么,pm2有哪些特征”,有一些人在Nod.Js部署配置pm2的过程是什么,pm2有哪些特征的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。高大上先上部署node方式:
直接通过node app来启动,如果报错了可能直接停在整个运行,
supervisor感觉只是拿来用作开发环境的。
目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种。
使用场合:
pm2主要特性:
使用npm/cnpm全局安装:
npm install -g pm2
pm2命令使用(项目更目录下使用):
$ pm2 start app.js 启动app项目
$ pm2 list 列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。
$ pm2 monit 监视每个node进程的CPU和内存的使用情况
$ 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 启动 并 生成一个配置文件
配置pm2启动文件:
可以通过pm2 start processes.json来启动。
在项目根目录下添加文件processes.json:
{ "apps": [ { "name": "mywork", "cwd": "/srv/node-app/current", "script": "bin/xxx", "log_date_format": "YYYY-MM-DD HH:mm:ss", "error_file": "/var/log/node-app/node-app.stderr.log", "out_file": "log/node-app.stdout.log", "pid_file": "pids/node-geo-api.pid", "instances": 6, "min_uptime": "200s", "max_restarts": 10, "max_memory_restart": "1M", "cron_restart": "1 0 * * *", "watch": false, "merge_logs": true, "exec_interpreter": "node", "exec_mode": "fork", "autorestart": false, "vizion": false } ] }
processes.json说明:
也可以把启动命令写在package.json里:
"scripts": { "start": "node ./bin/xxx", "pm2":"pm2 start processes.json" },
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
用jQuery怎样验证输入是不是数字?在登录注册页面,我们通常需要对输入验证,那么我们怎样知道输入的是不是数字呢?下文给大家分享一个简单的验证数字示例,有一定参考价值,需要的朋友可以参考看看。
本文可以让你了解所有有关JavaScript箭头函数的信息。我们将告诉你如何使用ES6的箭头语法,以及在代码中使用箭头函数时需要注意的一些常见错误。你会看到很多例子来说明它们是如何工作的。
这篇文章主要介绍了VSCode中 Eslint和Prettier冲突问题,既然使用 eslint规范,我的理解上当然是不能去修改eslint,因为这是共用规范,修改了就没有再使用的必要了,所以我是不推荐修改eslint的方式,本文给结合实例代码给大家详细讲解,需要的朋友可以参考下
vue怎么给对象数组赋值?在vue中,想要实现给对象数组赋值,我们可以使用this.$set()这个方法,那么具体怎样实现呢?为何用this.$set()?下面我们一起来详细的了解一下。
最近项目停工了,RageFrame的学习暂时告一段落,这一篇给大家分享下有关单点登录的相关知识,并提供一些demo给大家参考,对vue单点登录的实现方式感兴趣的朋友一起看看吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008