重庆建设厂招工信息网站,商城网站都有什么功能,湖北网站建设免费,个人主页网址pm2进程管理
本节我们将介绍如何使用 pm2 运行和监管我们的 express 项目
准备工作
一个 express 项目全局安装 pm2
npm install -g pm2pm2使用介绍
启动应用
你可以用纯命令去运行一个node项目#xff0c;假设原本运行项目使用 node src/index.js可以跑起来一个项目假设原本运行项目使用 node src/index.js可以跑起来一个项目则
pm2 start -name pm2-node-app node -- src/index当然你还可以通过将部分信息写到配置文件中文件可以是 js, json 等js格式的可以通过以下命令生成
pm2 init这将得到一个名为 “ecosystem.config.js” 的文件内容如下
module.exports {apps : [{script: index.js,watch: .}, {script: ./service-worker/,watch: [./service-worker]}],deploy : {production : {user : SSH_USERNAME,host : SSH_HOSTMACHINE,ref : origin/master,repo : GIT_REPOSITORY,path : DESTINATION_PATH,pre-deploy-local: ,post-deploy : npm install pm2 reload ecosystem.config.js --env production,pre-setup: }}
};deploy那部分是构建在本节我们仅将 pm2 用于项目的运行管理无需关注构建。重点是 apps 列表每一个元素分别对应一个应用的配置信息包括启动时运行的脚本命令script文件变动监控watch等
热重载
假设我们的源码入口位于 “src\index.js”我们需要开发时热重启项目仅src内文件变动
module.exports {apps : [{script: src/index.js,watch: [src]}]
};pm2根据这个文件去运行应用时可以直接这样
pm2 start // 与ecosystem.config.js同目录如果你使用其它的配置文件如 json配置的格式也是类似的则需要向pm2指明该配置文件名如
pm2 start app.json管理应用
pm2 stop id|name|namespace|all|json|stdin停止指定的应用pm2 restart id|name|namespace|all|json|stdin重启指定的应用pm2 reload id|name|namespace|all|json|stdin即刻重载web应用pm2 delete id|name|namespace|all|json|stdin删除指定的应用
应用监控
pm2 ls终端中查看所有应用状况pm2 monit打开终端的监控面板pm2 plus在浏览器中的Dashboard使用 pm2 plus 可能会报错可以直接访问网址https://app.pm2.io/
查看日志
pm2 log查看所有应用日志pm2 log id|name|namespace|all|json|stdin查看指定日志
应用集群
你可以将一系列应用划分到一个命名空间内作为一个集群通过指定namespace进行全体的重启等操作。 以 ecosystem.config.js 为例这一组应用包含了2个 node 应用
module.exports {apps : [{name: express-app1,script: ./app1/src/index.js,watch: ./app1/src,namespace: express-demo}, {name: express-app2,script: ./app2/src/index.js,watch: ./app2/src,namespace: express-demo}]
};关于 pm2 更多的使用技巧还请诸君自行探索 下一章节-最佳实践