学无止境

书山有路勤为径,
学海无涯苦作舟!

0%

node + pm2使用express部署静态网站

前提条件是安装好nodejs和pm2
npm install pm2 -g

npm安装express

1
npm install express -g

编写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配置文件

1
pm2 init simple

这将生成一个 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