Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我们可以在同一个端口上运行node和apache吗_Php_Node.js_Apache - Fatal编程技术网

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

Php 我们可以在同一个端口上运行node和apache吗,php,node.js,apache,Php,Node.js,Apache,我有一个nodejs和PHP的应用程序。现在我用的是两种不同的方法。 我可以在同一端口8080上运行node和apache吗 是的,有任何方法可以在8080上运行任何应用程序 感谢基于TCP的应用程序,不需要。一次只能有一个应用程序监听一个端口。如果您有两个网卡,您可以让一个应用程序在第一个IP上侦听,第二个应用程序在第二个IP上侦听,两者都使用端口8080。。。。但我怀疑这是你的情况 我想您可以在UDP协议上运行它们,这可以让两个应用程序监听同一个端口,但由于UDP不可靠,并且无法建立连接,因

我有一个nodejs和PHP的应用程序。现在我用的是两种不同的方法。 我可以在同一端口8080上运行node和apache吗

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


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

我想您可以在UDP协议上运行它们,这可以让两个应用程序监听同一个端口,但由于UDP不可靠,并且无法建立连接,因此只能发送/接收数据包。您可能会在UDP上遇到较大的数据包丢失


因此,简短回答-否。

一个端口通常只连接到一个应用程序。因此,您必须使用不同的端口

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

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

iptables -A INPUT \ -p tcp \ -m bpf --bytecode "14,0 0 0 20,177" -j redirect .. Port 80 检查连接的前几个字节,并重定向连接。然后,您可以在同一端口上接受http和node.js,但服务器运行在不同的端口上


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

您还可以根据ip地址进行区分。但也许我不明白你的意思,为什么你真的想让两者都在同一个端口上?我想在8080上运行node和apache,为什么?您希望如何确定哪一个将内容交付给客户端?