首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在端口80上运行页面的现有服务器上提供Node.JS应用程序

在端口80上运行页面的现有服务器上提供Node.JS应用程序
EN

Server Fault用户
提问于 2014-12-24 06:45:23
回答 2查看 4.1K关注 0票数 0

我在www.example.com有一个服务器运行一个由Apache提供的PHP制作的网页,这个页面正在监听端口80。

现在我想在域名www.example2.com上服务我的Node.JS。两个页面都应该在同一个服务器上,Node.JS应用程序应该运行在端口3000上。我怎样才能做到这一点?

从其他答案和博客文章(比如这个:http://garr.me/blog/running-node-js-and-apache-together-using-mod_代理/)中,我了解到我可以创建一个ReverseProxy来将www.example.com/app重定向到我的应用程序,但是这不是我想要的行为。我想要的是这个新的域名www.example2.com将服务器的ip地址转到3000端口。

附带问题:这个问题听起来可能很愚蠢,但是,我不能将整个域重定向到3000端口的服务器IP地址吗?

谢谢。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-12-24 07:08:55

我解决了。最初问题上的那一页给出了一个很好的建议,但它似乎不完整。要实现此配置,请执行以下操作:

-Locate文件httpd.conf在您的Apache文件夹(通常在apache2/conf上)。

将以下行-Add到末尾:

代码语言:javascript
复制
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName example2.com
  ServerAlias www.example2.com
  ProxyPass / http://localhost:3000/
  ProxyPassReverse / http://localhost:3000/
</VirtualHost>

-Change实际域名的占位符"example2“(example2是原始问题上的域名)

-Restart apache.

请注意,您可能希望通过将LoadModule行移到实际加载模块的位置来整理代码。

票数 4
EN

Server Fault用户

发布于 2014-12-24 07:05:52

现在我想在域名www.example2.com上服务我的Node.JS。两个页面都应该在同一个服务器上,Node.JS应用程序应该运行在端口3000上。我怎样才能做到这一点?

有两个步骤。

  1. 您需要在apache中创建一个虚拟主机,侦听IP:3000并响应example2.com的请求
  2. 您需要运行mod_proxy来接收端口80上的example2.com请求,并将它们推送到IP:3000,虚拟主机正在监听。

我不能将整个域重定向到3000端口的服务器IP地址,从GoDaddy/Route53 53的域名配置吗?

不是的。您不熟悉各种网络层,包括DNS、TCP、IP和两者之间的位置。我可以建议读一本小书,不讲主题。两次。,它会使你得到好的帮助吗?=)

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/654540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档