【发布时间】:2016-05-20 13:56:49
【问题描述】:
我来自 java 背景,我开始使用 node js,我现在喜欢它。 在我将其发布到 SO 之前,我已经阅读了与我的问题类似的其他主题。
我有 3 个不同的节点应用程序(app 1、app2、app3) 通常,如果它在 java 中,我将在 tomcat 中部署三个应用程序并可以在本地访问它们,例如 localhost:8080/app1、localhost:8080/app2 等。 我在节点 js 中寻找类似的方法。我读过这个thread 并在全球范围内安装 express 并使用此代码制作了一个名为 master.js 的脚本
var express = require('express'); var app = express();
app .use('/app1', require('./app1/server.js').app) .use('/app2', 要求('./app2/server.js').app) .listen(8080);
但我得到了
TypeError: 无法读取未定义的属性“句柄”
由于我是 node 新手,我不确定这个过程是否复杂,如 thread 中提到的设置代理等。
基本上我正在寻找将我所有的应用程序部署在同一个端口并像 localhost:8080/app1、localhost:8080/app2 一样访问它们
我需要 nginx 和代理来实现这个吗?
此外,在 ec2 实例中,我可以通过进入 app1 文件夹并键入 node server.js 来运行我的节点应用程序,因此该应用程序将在端口 8080 中列出,但是当我按 ctrl c 执行其他任务时,它终止了该应用程序。
【问题讨论】:
-
根据 app1、app2 服务器文件,这个逻辑应该可以工作,你是否从这些文件中导出 express 实例?你可以向我们展示 server.js-s 的样子。
-
@user1695032:我的 app1 和 app2 是独立的 express 应用程序,因此 server.js 将拥有我所有的路由和我配置的其他参数
标签: node.js amazon-ec2 port