课程信息
课程名称: Node.js+Express+Koa2+开发Web Server博客
课程章节: 第6章 博客项目之登录
课程讲师: 双越
课堂笔记
1、PM2介绍
1.线上环境特点
(1)服务器稳定性。
(2)充分利用服务器硬件资源,以便提高性能。
(3)线上日志记录。
2.PM2特点
(1)进程守护,系统奔溃自动重启。
(2)启动多进程,充分利用CPU和内存。
(3)自带日志记录功能。
3.PM2基础
PM2是线上环境下,用于启动NodeJS进程守护的工具。
下载安装:npm i pm2 -g
查看版本:pm2 --version
4.常用命令
启动进程:pm2 start
查看进程列表:pm2 list
重启进程:pm2 restart
停止进程:pm2 stop
删除进程:pm2 delete
查看当前服务基本信息:pm2 info
查看日志:pm2 log
查看所有日志和信息:pm2 monit
2、PM2基本案例
启动项目:npm run prd(使用pm2去启动项目,就不需要保持在前台,而不是用pm2 start去启动项目)
查看进程列表:pm2 list
查看当前服务基本信息:pm2 info 0
注意:当不配置pm2的输出文件和错误文件输出文件夹时,默认是放在:C:\Users\Tools.pm2\logs文件夹下。
console.log的代码是存放在C:\Users\Tools.pm2\logs\app-error.log
console.error的代码是存放在C:\Users\Tools.pm2\logs\app-out.log
查看当前日志:pm2 monit
package.json:
“scripts”: {
“prd”: “cross-env NODE_ENV=production pm2 start app.js”
},
app.js:
const http = require('http')
const server = http.createServer((req, res) => {
// 模拟日志
console.log('cur time', Date.now())
// 模拟错误
console.error('假装出错', Date.now())
// 模拟一个错误
if (req.url === '/err') {
throw new Error('/err 出错了')
}
res.setHeader('Content-type', 'application/json')
res.end(
JSON.stringify({
errno: 0,
msg: 'pm2 test server 3'
})
)
})
server.listen(8011)
console.log('server is listening on port 8011 ...')