使用 PM2 来启动由 npm 管理的应用程序时,通常是因为您的 Node.js 应用程序使用了某种构建脚本或服务脚本来启动服务,比如 npm run startnpm run dev。下面是如何使用 PM2 启动由 npm 脚本管理的应用程序,并为其指定一个名称。

基本命令

如果您想要使用 PM2 启动一个由 npm 脚本启动的应用,并给这个进程命名,可以使用如下命令:

pm2 start npm --name "应用名称" -- run start

这里,“应用名称”是您为这个应用指定的名字,run start 是指您的 package.json 文件中定义的启动脚本。确保您的 package.json 文件中包含了相应的脚本定义,例如:

{
  "name": "your-app-name",
  "scripts": {
    "start": "node app.js",  // 或者是其他启动命令
    "dev": "nodemon app.js"  // 如果使用 nodemon 开发环境
  }
}

示例

假设您的 package.json 文件中定义了一个 start 脚本,您可以这样启动应用:

pm2 start npm --name "MyApp" -- run start

这将会启动名为 MyApp 的应用,并执行 npm run start 命令。

注意事项

  • 如果您的脚本名称不是 start,请将其替换为您定义的实际脚本名称。
  • 如果您的应用使用了像 nodemon 这样的开发工具来自动重启服务器,您也可以用类似的方法启动,只需将 start 替换成相应的脚本名即可。

查看应用状态

启动应用后,您可以用 pm2 list 命令查看所有正在运行的 PM2 管理的应用列表,并检查是否正确启用了您的应用。

其他常用命令

  • 重启应用pm2 restart "MyApp"
  • 停止应用pm2 stop "MyApp"
  • 删除应用pm2 delete "MyApp"

通过这种方式,您可以方便地使用 PM2 来管理您的 Node.js 应用程序,无论它们是直接通过 Node.js 启动还是通过 npm 脚本启动。