前提条件是安装好nodejs和pm2
npm install pm2 -g
npm安装express
编写express-web-http.js启动脚本
1 2 3 4 5 6 7
| const express = require("express"); const server = express(); server.listen(3001, function () { //在3001端口启动 console.log('Example app listening on port 3001'); }) //public是静态网页目录,可以是hexo生成的,也可以是hugo生成的静态网站或者自已编程实现生成静态网站也可以 server.use('', express.static('./public'));
|
执行启动脚本,最简单的方式开启守护进程和监视您的应用程序
1 2 3 4 5 6
| > 无pm2运行 node app.js > 使用pm2运行 pm2 start express-web-http.js > 使用pm2运行,监控文件内容变动并启动3个进程 pm2 start express-web-http.js --watch -i 3
|
生成js配置文件
这将生成一个 ecosystem.config.js 配置文件:
module.exports = {
apps : [{
name : “app1”,
script : “./app.js”
}]
}
使用配置文件
1 2 3 4 5 6 7 8 9 10 11
| 与操作应用程序相比,您可以无缝启动/停止/重启/删除配置文件中包含的所有应用程序: # Start all applications pm2 start ecosystem.config.js # Stop all pm2 stop ecosystem.config.js # Restart all pm2 restart ecosystem.config.js # Reload all pm2 reload ecosystem.config.js # Delete all pm2 delete ecosystem.config.js
|
不需要配置文件直接集群运行
1 2
| pm2 start app.js -i max > max 意味着 PM2 将自动检测可用 CPU 的数量并运行尽可能多的进程
|
集群模式配置文件
processes.json文件内容如下:
1 2 3 4 5 6 7
| module.exports = { apps : [{ script : "api.js", instances : "max", exec_mode : "cluster" }] }
|
使用集群模式运行
1
| pm2 start processes.json
|