Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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
Node.js 在同一端口上运行3个web服务器_Node.js_Linux_Amazon Ec2_Service_Dns - Fatal编程技术网

Node.js 在同一端口上运行3个web服务器

Node.js 在同一端口上运行3个web服务器,node.js,linux,amazon-ec2,service,dns,Node.js,Linux,Amazon Ec2,Service,Dns,我有一台机器,我想做一件非常简单的事情,在这台机器上我有3条DNS记录, 例如,111.111.111.111是机器本身的ip test1.whatever.net - 111.111.111.111 test2.whatever.net - 111.111.111.111 test3.whatever.net - 111.111.111.111 我们希望通过每个DNS记录的流量 由每个相应的服务处理 创建3个非常简单的脚本,作为使用任何语言的网站 或平台(建议的NodeJs),以响应服务的

我有一台机器,我想做一件非常简单的事情,在这台机器上我有3条DNS记录, 例如,111.111.111.111是机器本身的ip

test1.whatever.net - 111.111.111.111
test2.whatever.net - 111.111.111.111
test3.whatever.net - 111.111.111.111
  • 我们希望通过每个DNS记录的流量 由每个相应的服务处理
  • 创建3个非常简单的脚本,作为使用任何语言的网站 或平台(建议的NodeJs),以响应服务的名称 调用DNS记录时(例如“service1”、“service2”和 “服务3”)
我该怎么做

  • 所有服务必须在端口80上运行
  • 这台机器是AWS Linux 2

您使用的是什么http服务器? 通常,您可以通过创建虚拟主机来解决此问题。在Apache中,它将如下所示: 在那里,您可以根据DNS请求定义Web服务器应该使用哪个文件夹来呈现客户端


另一个选项,但在设置nginx代理时,这可能更复杂

是否可以将您的“所有服务都必须在端口80上运行”要求更改为“所有服务都必须通过端口80可以访问”?我目前使用的是nodejs http模块,这是一个朋友给我的挑战我的测试,我想弄清楚。您查看了这篇帖子吗?嗯,你是对的,经过一些研究,nginx rev proxy就是答案,我要做的是使用dokcer,在docker上运行nginx rev proxy(使用熟悉的nginx proxy表单docker hub)后,我设法运行了更多容器,虚拟主机作为与代理容器相关的环境,每个容器都是nginx,我只是将html文件复制到3个容器中,就是这样:)当然,您需要将dns添加到hosts文件中。非常感谢!你是我解决问题的钥匙!