手记

【九月打卡】第10天 Node.js开发博客——进程守护、常用配置

课程信息

课程名称: 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 ...')
0人推荐
随时随地看视频
慕课网APP