gpt4 book ai didi

node.js - 在同一端口 ec2 中运行多个 Node 应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:55 27 4
gpt4 key购买 nike

我来自 java 背景,我开始使用 Node js,现在我喜欢它。在将其发布到 SO 之前,我已经阅读了与我的问题类似的其他线程。

我有3个不同的 Node 应用程序(应用程序1、应用程序2、应用程序3)通常,如果它是在java中,我将在tomcat中部署三个应用程序,并且可以像这样本地主机:8080/app1、本地主机:8080/app2等在本地访问它们。我在 Node.js 中寻找类似的方法。我读过这篇thread并全局安装了express并使用此代码创建了一个名为master.js的脚本

var express = require('express'); var app = express();

app .use('/app1', require('./app1/server.js').app) .use('/app2', require('./app2/server.js').app) .listen(8080);

但我得到

TypeError: Cannot read property 'handle' of undefined

由于我是 Node 新手,我不确定这个过程是否像设置代理等一样复杂,如本thread中提到的

基本上我正在寻找在同一端口中部署我的所有应用程序并像 localhost:8080/app1、localhost:8080/app2 一样访问它们

我需要 nginx 和代理来实现这个吗?

此外,在 ec2 实例中,我可以通过进入 app1 文件夹并输入 node server.js 来运行我的 Node 应用程序,这样该应用程序将在端口 8080 中列出,但是当我按 ctrl c 执行其他任务时,它终止了该应用程序。

最佳答案

你不需要 nginx/proxy 来处理这个问题。据我所知,如果您的 app1|app2/server.js-s 是这样构建的,您的代码应该可以工作:

var express = require('express');
var app = express();

app.get('/hello', function() {...})

module.exports = {
app: app
}

现在您可以向/app1/hello 和/app2/hello 发送 GET 请求

关于node.js - 在同一端口 ec2 中运行多个 Node 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35311412/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com