gpt4 book ai didi

node.js - 使用 node.js 托管多个站点

转载 作者:搜寻专家 更新时间:2023-10-31 23:43:46 25 4
gpt4 key购买 nike

我目前正在学习 node.js 并且喜欢它。然而,我注意到它似乎真的只适合一个站点。所以它非常适合托管 mydomain.com,但如果我想用它构建一个真正的完整 Web 服务器怎么办?换句话说,我想托管 mydomain.com、example.com、yourdomain.com 等。有哪些解决方案(模块)可用于此?我正在考虑简单地解析请求对象中的 url,然后简单地从适当的目录中读取。例如,如果我收到对 example.com 的请求,然后从 example_com 目录中读取,或者如果我收到来自 mydomain.com 的请求,则从 mydomain_com 目录中读取。这里的问题是我不知道这将如何影响性能和可伸缩性。

我调查了 Multi-node但我还没有完全遵循流程的想法(我是 Node 初学者)。

欢迎提出任何建议。

最佳答案

您可以通过几种不同的方式来做到这一点。一种方法是通过检查向哪个域发出请求,然后在您的应用程序中路由,将其直接写入您的 Web 应用程序,但除非您的应用程序非常基础,否则这会使它相当臃肿并且变得困惑。如果您正在编写一个博客平台,在该平台上,您的所有域中的一切都几乎相同,则可能是执行此类操作的好时机。关键区别可能在于您查询数据以显示正确数据的方式。

在这种情况下,您可能会使用请求来查看正在访问哪个博客。

如果您只想在同一台服务器上托管几个不同的域,所有域都使用端口 80(就像大多数网站那样),您将需要将每个请求代理到不同的进程。您可以使用 nginx 甚至 Node 本身来执行此操作。这一切都归结为最适合您的需求。 bouncy是一种将设置作为 nodejs 模块执行此操作的快速方法,并且具有一些非常令人印象深刻的基准测试。 nginx ( proxy with nginx ) 可能是使用最广泛的方法,因为很多 nodejs 服务器无论如何都使用 nginx 来提供静态内容。

http://blog.noort.be/2011/03/07/node-js-on-nginx.html https://github.com/substack/bouncy/

关于node.js - 使用 node.js 托管多个站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890827/

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