我们可以在同一个端口上运行node和apache

时间:2014-09-16 15:03:18

标签: php node.js apache

我在nodejs和PHP中有一个应用程序。现在我使用不同的两者。 我可以在同一端口 8080

上运行node和apache

是,有任何方法可以在8080上运行任何应用程序

由于

3 个答案:

答案 0 :(得分:2)

端口通常只连接到一个应用程序。所以你必须使用不同的端口。

代理 - 但您可以在apache中创建虚拟主机并将此主机配置为代理。在此配置中,您可以访问同一端口上的node.js服务器。 node.js服务器将在另一个端口上运行。

答案 1 :(得分:0)

对于基于TCP的应用程序,没有。您一次只能在一个端口上侦听一个应用程序。如果你有2个网卡,你可以让一个应用程序监听第一个IP,第二个IP监听第二个IP,都使用端口8080 ....但我怀疑这是你的情况。

我猜你可以在UDP协议上运行它们,这可能允许你有两个应用程序监听同一个端口,但由于UDP不可靠而且它没有建立连接,只是发送/接收数据包。您可能会在UDP上遇到大量数据包丢失。

所以,简短回答 - 不。

答案 2 :(得分:-1)

实际上,可能有一种使用iptables的方法。添加这种性质的规则

iptables -A INPUT \
 -p tcp  \
 -m bpf --bytecode "14,0 0 0 20,177"
 -j redirect .. Port 80

检查连接的前几个字节,然后重定向连接。然后,您可以在同一端口上接受http和node.js,但让服务器在不同的端口上运行。

上面的语法不正确,我没有尝试过,但我知道成功使用过这个策略的人。