2016-02-11 55 views
0

我正在部署一个简单的node.js应用程序,并将Apache用作Web服务器。我正确安装了Apache,并且我在httpd.conf文件中更改的唯一内容是DocumentRoot和Directory。我将这些指向了我的节点应用程序的目录。我重新启动apache,当我去公共IP时,我只能看到apache测试页面?但是,如果我卷曲的私人IP地址..与端口扩展名(:8000)比它返回我的应用程序的索引页。我如何让Apache将请求发送到正确的端口?使用Apache移植部署Node.js应用程序

编辑︰如果我卷曲只是私人IP地址它返回Apache测试页的HTML。

回答

0

你将Apache的请求代理给Node,而不是直接让Apache调用node命令(就像你用PHP做的那样)。

你可以像这样与配置做到这一点:

ProxyPass /app http://127.0.0.1:8000 

这意味着如果你去https://www.example.com/app那么你将调用您的节点服务。

你当然可以使用ProxyPass /所有的东西都放到你的节点服务上,但是大多数人发现最好让Web服务器处理静态页面和资源(就像它擅长的那样),然后让节点返回动态内容 - 要么直接返回HTML,要么只是以JSON格式返回数据,而使用该数据前端JavaScript。

相关问题