如何在同一个vps中运行多个node.js进程并将它们映射到同一域中的不同URL?

时间:2013-11-17 17:43:18

标签: node.js

我想有一个这样的目录:

  • 应用
    • game01
    • game02
    • game03
    • app01

当有人访问我的“domain.com/game01”时,将由运行game01的节点实例管理。


节点解决方案:

  • 我不喜欢使用nginx因为在机器上添加了另一层设置,所以当我想换到另一台机器时我也要配置nginx而且我不想这样做。
  • 我想对我的配置文件进行某种版本控制。
  • 我知道nginx更安全,更高效;

为什么我需要拥有多个节点实例,而不仅仅是一个处理所有应用程序的实例:

  • 每个应用程序(game01,game02)也可能附有套接字。所以我想在开发设置中运行相同的代码。我想在生产中运行最少的不同代码,而不是在开发中。

我在想什么:

创建一个新的node.js应用程序,在端口443上运行(因为其中一些需要ssl),当有人请求(domain.com/game01)将永远创建一个新的node.js实例并将委托给这个

您如何看待我的解决方案?可能有什么缺陷? 对此最好的建议是什么?

(如果你能告诉我nginx比这个解决方案要好很多,我可能会试试nginx解决方案,至少有一些版本)

谢谢(:

1 个答案:

答案 0 :(得分:1)

使用http-proxy模块将反向代理编写为主请求处理程序。您可以让每个游戏运行它自己的应用服务器,并使用指定的端口侦听环回IP上的HTTP请求。代理只是将传入请求路径(/ game01)映射到后端服务器端口号(例如3001)。