NVM

NodeJS

常用质量门禁

  • TypeScript 严格模式(strict: true)、ESLint + Prettier,禁止无意义命名。
脚本作用为什么重要
npm run dev开发环境启动本地开发,热更新
npm run lint代码风格检查防止格式问题
npm run typecheckTypeScript 类型检查防止类型错误
npm run test运行测试保证功能正确性
npm run build构建生产版本生成优化后的代码

PM2

Windows 安装

确认已安装 Node.js 和 npm

node -v
npm -v

全局安装 PM2

npm install pm2 -g

安装 Windows 自启动支持

npm install pm2-windows-startup -g

安装 PM2 服务

pm2-startup install

💡 这会创建 Windows 服务,确保系统重启后 PM2 自动运行

验证安装

pm2 -v

如果显示版本号,说明安装成功!

PM2 基础使用示例

启动 Node.js 应用

pm2 start server.js --name "my-api" --watch
  • --name:给进程命名
  • --watch:自动监听文件变化并重启

查看进程状态

pm2 list

查看日志

pm2 logs my-api

停止应用

pm2 stop my-api

重启应用

pm2 restart my-api

PM2 常用管理指令

PM2 是一个非常强大的进程管理器,以下是你日常维护最常用的指令:

基础管理

  • 启动服务pm2 start server.js --name "upload" (启动并命名为 upload)
  • 停止服务pm2 stop upload (暂停服务,进程还在列表中)
  • 重启服务pm2 restart upload (修改代码后必须执行此命令)
  • 删除服务pm2 delete upload (从 PM2 列表中彻底移除)

查看状态

  • 查看列表pm2 list (查看所有进程状态、内存占用、重启次数)
  • 查看日志pm2 logs upload (查看实时日志,排查报错神器。加上 --lines 100 可看更多)
  • 监控面板pm2 monit (打开一个图形化终端界面,实时看 CPU/内存/日志)

开机自启 (高级)

如果你希望电脑重启后服务自动运行:

  1. 生成启动脚本:pm2 startup (它会给你一行命令,复制并执行它)
  2. 保存当前列表:pm2 save (冻结当前运行的所有进程列表,作为下次开机启动的内容)

高级配置

创建配置文件 ecosystem.config.js

module.exports = {
  apps: [{
    name: 'my-api',
    script: 'server.js',
    instances: 'max', // 自动根据CPU核心数启动
    exec_mode: 'cluster',
    watch: true,
    env: {
      NODE_ENV: 'development'
    },
    env_production: {
      NODE_ENV: 'production'
    }
  }]
}

启动应用:

pm2 start ecosystem.config.js --env production

为什么推荐 PM2?

PM2 是 Node.js 应用的进程管理器,能帮助你实现应用的启动、停止、重启、监控等功能,同时支持进程守护(应用崩溃后自动重启)。

  • 不会阻塞命令行
  • 自动重启应用
  • 日志管理
  • 开机自启动