本篇文章给大家分享的是有关节点。js项目怎么利用PM2进行部署,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>使用场合:强>
- <李>
主管是开发环境用。
李> <李>永远管理多个站点,每个站点访问量不大,不需要监控。
李> <李> PM2网站访问量比较大,需要完整的监控界面。
<强> PM2的主要特性:强>
- <李>
内建负载均衡(使用集群节点集群模块)
李> <李>后台运行
李> <李>0秒停机重载,我理解大概意思是维护升级的时候不需要停机。李李
> <>具有Ubuntu和CentOS的启动脚本
李> <李>停止不稳定的进程(避免无限循环)
李> <李>控制台检测
李> <李>提供HTTP API
李> <李>远程控制和实时的接口API (Nodejs模块,允许和PM2进程管理器交互)
李><强>安装强>
npm install -g PM2
<强>用法强>
<代码> npm美元安装- g PM2 代码>命令行全局安装PM2
<代码> PM2美元开始app.js 代码>启动应用项目
<代码>美元PM2列表> 代码列出由PM2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。
<代码>美元PM2 monit 代码>监视每个节点进程的CPU和内存的使用情况
<代码>美元PM2日志> 代码显示所有进程日志
<代码> PM2美元停止所有代码>停止所有进程
<代码>美元PM2重启所有代码>重启所有进程
<代码> $ PM2重新加载所有0 代码>秒停机重载进程(用于网络进程)
<代码> $ PM2停止0 代码>停止指定的进程
<代码> $ PM2重启0 代码>重启指定的进程
<代码>美元PM2启动代码>产生init脚本保持进程活着
<代码>美元PM2 web 代码>运行健壮的电脑API端点(http://localhost: 9615)
<代码> $ PM2删除0 代码>杀死指定的进程
<代码>美元PM2删除所有代码>杀死全部进程
<强>运行进程的不同方式:强>
<代码> PM2美元开始app.js - max 代码>根据有效CPU数目启动最大进程数目
<代码> $ PM2开始app.js - 3> 代码启动3个进程
<代码> PM2美元开始app.js - x 代码>用叉模式启动app.js而不是使用集群
<代码> PM2开始app.js - x美元————23> 代码用叉模式启动app.js并且传递参数(- 23)
<代码> PM2美元开始app.js——名字serverone 代码>启动一个进程并把它命名为serverone
<代码> PM2美元停止serverone 代码>停止serverone进程
<代码> PM2美元开始app.json 代码>启动进程,在app.json里设置选项
<代码> PM2美元开始app.js - max————代码>在23日之后给app.js传递参数
<代码> PM2美元开始app.js - max - e犯错。日志- o。日志> 代码启动并生成一个配置文件
<强>配置pm2启动文件强>
在项目根目录添加一个流程。json:
<强>内容如下:强>
{ ,“apps":, ,{ “name"才能:,“mywork" “cwd"才能:,“/电脑/node-app/current" “script"才能:,“bin/www" “log_date_format"才能:,“YYYY-MM-DD HH: mm Z" “error_file"才能:,“/var/log/node-app/node-app.stderr.log" “out_file"才能:,“日志/node-app.stdout.log" “pid_file"才能:,“pid/node-geo-api.pid" “instances"才能:,, “min_uptime"才能:,“200 s" “max_restarts"才能:,, “max_memory_restart"才能:,“1 m" “cron_restart"才能:,“1,0,*,*,*“, “watch"才能:,假的, “merge_logs"才能:,真的, “exec_interpreter"才能:,“node" “exec_mode"才能:,“fork" “autorestart"才能:,假的, “vizion"才能:假 ,} ,) }
<>强说明:强>
- <李>
应用程序:json结构,应用程序是一个数组,每一个数组成员就是对应一个pm2中运行的应用
李> <李>名称:应用程序名称
李> <李>