学习使用PM2管理nodejs进程
在项目中,偶尔对命令会忘记一下,所以在此记录下pm2的常用命令。
1. pm2是什么?
pm2 是一个带有负载均衡的Node应用的进程管理器, 它能够管理Node应用,还能够对应用的运行状态进行监控。
2. pm2 安装及使用
安装命令如下:
npm install pm2 -g
比如说 我在项目中有一个 app.js 启动程序,代码如下:
const Koa = require('koa');
const app = new Koa();
app.use(async (ctx, next) => {
ctx.response.body = 'hello world';
await next();
});
app.listen(3000);
console.log('app started at port 3000...');
然后每次启动下该本地项目服务,我们需要 node app.js 这样启动下,如下所示:

然后在浏览器中访问 http://localhost:3000/ 就可以打印如下效果了:

但是现在我们有pm2了,我们可以使用pm2来管理我们的node应用进程进行管理。我们只需要运行 pm2 start app.js 即可;如下:

然后在浏览器中访问 http://localhost:3000/ 也一样能看到效果。
下面是pm2 常用的命令:
$ npm install pm2 -g // pm2 命令安装
$ pm2 start app.js -i 2 // 后台运行pm2,启动2个app.js
$ pm2 start app.js --name xxx // 命名进程为xxx
比如如下所示:

$ pm2 list // 显示所有进程状态
$ pm2 monit // 监视所有进程
$ pm2 logs // 显示所有进程日志
$ pm2 stop all // 停止所有进程
$ pm2 restart all // 重启所有进程
$ pm2 reload all // 0秒停机重载进程
$ pm2 stop 0 // 停止指定的进程
$ pm2 restart 0 // 重启指定的进程
$ pm2 startup // 产生init脚本,保持进程活着
$ pm2 delete 0 // 杀死指定的进程
$ pm2 delete all // 杀死全部进程
$ pm2 web // 监控所有被pm2管理的进程
运行进程的不同方式:
$ 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 --name xxxx // 启动一个进程并把它命名为 xxxx
$ 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管理nodejs进程的更多相关文章
- 使用PM2管理nodejs进程分享
摘要:pm2 是一个带有负载均衡功能的Node应用的进程管理器.本文主要介绍了详解使用PM2管理nodejs进程,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧,希望能帮助 ...
- 使用 PM2 管理nodejs进程
pm2 是一个带有负载均衡功能的Node应用的进程管理器. 当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. 它非常适合IaaS结构,但不要把它 ...
- 使用pm2管理nodejs应用
PM2 is a production process manager for Node.js applications with a built-in load balancer. It allow ...
- PM2 管理nodejs项目
pm2 是一个带有负载均衡功能的Node应用的进程管理器. 当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. 它非常适合IaaS结构,但不要把它 ...
- nodeJS进程管理器pm2
pm2是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. PM2是开源的基于Nodejs的进程管 ...
- Linux_CentOS下搭建Nodejs 生产环境-以及nodejs进程管理器pm2的使用
nodejs安装:https://www.cnblogs.com/loaderman/p/11596661.html nodejs 进程管理器 pm2 的使用 PM2 是一款非常优秀的 Node 进程 ...
- Linux第六周学习总结——进程额管理和进程的创建
Linux第六周学习总结--进程额管理和进程的创建 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/cour ...
- pm2使用 node 进程管理
1.问题 使用阿里云服务器时遇到一个问题,就是只能开一个命令窗口,加入运行node服务,只能起一个服务,不能启多个服务.pm2可以解决这个问题. 2.pm2简介 官网:https://pm2.keym ...
- UNIX环境编程学习笔记(21)——进程管理之获取进程终止状态的 wait 和 waitpid 函数
lienhua342014-10-12 当一个进程正常或者异常终止时,内核就向其父进程发送 SIGCHLD信号.父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用的函数(信号处理程序).对于这 ...
随机推荐
- layui 弹出框改变按钮颜色样式 自定义皮肤
1.在layer下新建文件夹和css 文件: 2.123.css body .layui-ext-yourskin .layui-layer-btn0{ border-color: #55ff83; ...
- 个人练习:使用HTML+CSS制作二级菜单
最近一直在学习HTML+CSS,刚看完如果制作下拉菜单部分,就想着做一个练练手. 先上成品图: 就是上面这个效果,横向菜单选项能点击,鼠标放在上面也能展开二级菜单,二级菜单也能点击,点击后就会在底下的 ...
- Python入门基础之条件判断、循环、dict和set
Python之if语句 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现: age = 20 if age >= 18: print 'your age is ...
- iOS ----------怎么修改xcode默认打开方式
很简单就能解决:选中文件,右键,显示简介,打开方式,选择8.2.然后打钩.
- JMeter 后置处理器之正则表达式提取器详解
后置处理器之正则表达式提取器详解 by:授客 QQ:1033553122 1. 添加正则表达式提取器 右键线程组->添加->后置处理器->正则表达式提取器 2. 提取器配置介绍 ...
- Android Studio手动打包
项目写完了,现在需要把应用上传到市场上面,那么怎么把项目打包成apk?(Android的可安装文件). 1. 创建签名文件 2. 填写好签名参数 3. 生成APK 注意:签名的密码和密匙的密码注意保管 ...
- 【爬虫】使用xpath与lxml移除特定标签
移除标签的两种方式 可以用xpath定位 for bad in html.xpath(".//table"): bad.getparent().remove(bad) 参考:htt ...
- 在Xshell 6开NumLock时按小键盘上的数字键并不能输入数字
小键盘问题 在Xshell 6上用vi的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键).解决方法 选项Terminal-> ...
- MySQL mysqlbinlog解析出的SQL语句被注释是怎么回事
MySQL mysqlbinlog解析出的SQL语句被注释是怎么回事 一网友反馈使用mysqlbinlog解析出的二进制日志中的内容中,有些SQL语句有#注释的情况,这个是怎么回事呢?我们通过实验 ...
- netsh winsock reset命令,作用是重置 Winsock 目录
Win xp重置 编辑 要为 Windows XP 重置 Winsock,请按照下列步骤操作: 1.单击“开始”,运行中输入cmd. 2.然后输入命令 netsh winsock reset. 3.重 ...