首页 > 解决方案 > Node.js - 如何使用 package.json 运行多个服务器

问题描述

尝试从package.json. 此方法只运行server1.js,但忽略server2.js

包.json

{
  "name": "demo",
  "version": "1.0.0",
  "description": "demo",
  "main": "server1.js",
  "dependencies": {
    "express": "^4.14.0",
    "socket.io": "^1.5.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node server1.js && node server2.js",
  }
}

PS -- 代码将在 AWS 中使用

标签: javascriptnode.jssocket.iopackage.json

解决方案


在shell中,&&是在上一条命令执行完后,如果状态为真,则执行下一条命令的命令。
如果您希望多个服务器同时并行运行,请使用后台进程命令,&nohub.

node server1.js & node server2.js &

现在,您的应用程序在后台运行,可以使用以下命令获取进程信息。如果要停止此操作,请使用 netstat 命令获取 pid 信息。您必须使用命令 kill -9 <your_procees_id> 将其删除。

netstat -vanp --tcp | grep <your_server_port> 
kill -i <your_process_id>

或者,可能有一个监控模块,例如pm2
https://www.npmjs.com/package/pm2


推荐阅读