仅在VPS上为特定域托管node.js

仅在VPS上为特定域托管node.js,node.js,dns,cpanel,whm,Node.js,Dns,Cpanel,Whm,我有一个VPS,在那里我托管了几个站点。都是基于灯堆,所以没什么大不了的。他们提供WHM/cpanel来管理不同的站点。我决定尝试node.js,为它购买了一个单独的域,我需要一些关于如何将该域指向node.js应用程序的线索 以下是问题: 1) 在不妨碍其他站点的情况下,在特定域上托管node.js应用程序的最佳方式是什么?我将如何配置域?是的,我想为节点使用默认http端口(80) 2) 由于Apache已经在侦听80端口,因此使用Apache mod_代理是否是一个好主意?我的意思是,如果

我有一个VPS,在那里我托管了几个站点。都是基于灯堆,所以没什么大不了的。他们提供WHM/cpanel来管理不同的站点。我决定尝试node.js,为它购买了一个单独的域,我需要一些关于如何将该域指向node.js应用程序的线索

以下是问题:

1) 在不妨碍其他站点的情况下,在特定域上托管node.js应用程序的最佳方式是什么?我将如何配置域?是的,我想为节点使用默认http端口(80)

2) 由于Apache已经在侦听80端口,因此使用Apache mod_代理是否是一个好主意?我的意思是,如果我想使用websocket,apache还会使用单独的线程来维护到节点的连接吗

注:我已经看到了,但答案似乎并不令人信服


编辑:


我忘了提到,我有一个未使用的专用IP用于VPS,可以用于node.js

如果Apache已经在侦听端口80,那么您唯一能做的就是代理您的节点实例。是的,apache将为每个连接创建一个新线程。

正如其他人所提到的,在这里您可以做的不多。Apache目前正在驱动您的服务器,node.js不喜欢骑猎枪


我建议您查看、和之类的内容。

遵循以下步骤

  • 转到“WHM>>服务配置>>Apache配置>>保留的IP编辑器”,然后“保留”要用于node.js的IP。这将从apache中释放IP

  • 创建一个新的DNS条目,该条目类似于-
    example.com a YOUR_IP_ADDRESS

  • 告诉node.js服务器使用
    server.listen(80,“您的IP地址”)监听您的IP


  • 强烈建议为此获得单独的VPS。代理模块的使用将限制功能和性能。您可以在Heroku上相当快地启动并运行节点应用程序,并将您的域指向Heroku应用程序实例,而无需使用Apache代理。我已经编辑了这个问题。拥有一个单独的IP不会消除代理的使用吗?你可以让apache侦听在一个IP上,node.js在另一个IP上,它们不会相互干扰。listen()方法的主机参数可以是一个域,例如
    server.listen(80,“example.com”)
    ?谢谢兄弟!!救了我的命。。问题!!这是怎么回事。。我怎么能用apache和nodejs收听端口80??@RayGarner,不,在步骤1中,您正在从apache释放IP。Apache和NodeJS不能在同一端口上运行。此示例针对具有多个IP的VPS。最初,它们由apache保留,即使您不使用它们。所以,通过这种方式,您可以释放一个IP用于NodeJS。是的,我知道,但VPS不是只有一个端口80吗。这就是我不明白的。。。为什么这可以在具有多个IP的vps上完成,但不能在我家的机器上完成。盒子/虚拟盒子不是只有一个端口80吗。即使它是从apache发布的,该端口也不应该被服务于其他IP的apache使用。我是个程序员,不是系统管理员,只是好奇而已。这种方法也很有魅力,只是好奇为什么这是可能的。谢谢你的回答救了我一天。@RayGarner,别担心我也是个程序员:)而且,你可以使用不同的ip多次使用同一个端口。在您的本地计算机上尝试一下:)