# nvm 和 fnm
nvm (opens new window) 和 fnm (opens new window) 都是 Node.js 版本管理工具,前者是符合 POSIX 标准的 bash 脚本,只支持 macOS 和 Linux 平台;后者是以 Rust 开发的,支持 macOS、Windows 和 Linux 平台。
# Nodemon
Nodemon (opens new window) 是 Node.js 应用的自动重启工具,开发时监听文件变化,自动重启应用,省去手动重启的麻烦。
Nodemon 的核心功能如下:
监听文件变化 - 代码修改后自动重启
开发体验优化 - 改完代码立即生效,无需手动 Ctrl+C 再启动
可配置 - 可以指定监听哪些文件、忽略哪些目录
# 普通启动(每次改代码要手动重启)
node app.js
# 用 nodemon(改代码自动重启)
nodemon app.js
1
2
3
4
5
2
3
4
5
# PM2
PM2 (opens new window) 是 Node.js 应用的进程管理器,它可以让你的 Node.js 应用在服务器上稳定运行、自动重启、方便管理。
没有 PM2,Node.js 应用崩溃就停了;有了 PM2,崩溃自动重启,生产环境必备工具。
PM2 的核心功能如下:
守护进程 - 应用崩溃后自动重启,保证服务不中断
后台运行 - 关闭终端后应用继续运行
负载均衡 - 自动启动多个进程利用多核 CPU(cluster 模式)
日志管理 - 自动收集和管理应用日志
监控 - 实时查看 CPU、内存使用情况
零停机重启 - 更新代码时不中断服务
# 启动应用
pm2 start app.js
# 查看所有应用状态
pm2 list
# 重启应用
pm2 restart app
# 查看日志
pm2 logs
# 开机自启动
pm2 startup
pm2 save
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15