如何在 bitnami MEAN 堆栈服务器上托管两个节点应用程序?

Posted

技术标签:

【中文标题】如何在 bitnami MEAN 堆栈服务器上托管两个节点应用程序?【英文标题】:How to host two node applications on bitnami MEAN stack server? 【发布时间】:2016-07-22 01:15:43 【问题描述】:

通过参考link,我在 Bitnami Mean 堆栈服务器上托管了两个节点应用程序

问题

1) 根据这个文档,我的应用程序应该在http://[your-IP-address]/myapp url 上运行,但它直接在http://[your-IP-address] 打开。

2) 我托管了两个在 4000 和 5000 端口上运行的节点应用程序。当您点击 ip 时,它会打开首先放置在此文件中的应用程序 “/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf”。

bitnami-apps-prefix.conf 的内容

# Bitnami applications installed in a prefix URL
Include "/opt/bitnami/apps/app1/conf/httpd-prefix.conf"
Include "/opt/bitnami/apps/app2/conf/httpd-prefix.conf"
Include "/opt/bitnami/apps/rockmongo/conf/httpd-prefix.conf"

3) 如何映射 url 以打开特定的应用程序。

App1 设置 -> httpd-app.conf

ProxyPass / http://127.0.0.1:5000/ 
ProxyPassReverse / http://127.0.0.1:5000/

App2 设置 -> httpd-app.conf

ProxyPass / http://127.0.0.1:4000/ 
ProxyPassReverse / http://127.0.0.1:4000/

【问题讨论】:

【参考方案1】:

您必须在每个应用程序的 httpd-app.conf 中映射 ProxyPassProxyPassReverse 的不同路径。

App1 设置 -> httpd-app.conf

ProxyPass /app1/ http://127.0.0.1:5000/ 
ProxyPassReverse /app1/ http://127.0.0.1:5000/
ProxyPass /app1 http://127.0.0.1:5000/ 
ProxyPassReverse /app1 http://127.0.0.1:5000/

App2 设置 -> httpd-app.conf

ProxyPass /app2/ http://127.0.0.1:4000/ 
ProxyPassReverse /app2/ http://127.0.0.1:4000/
ProxyPass /app2 http://127.0.0.1:4000/ 
ProxyPassReverse /app2 http://127.0.0.1:4000/

您应该同时添加/app1//app1 以将应用根地址与/app1 匹配,并将其余地址与/app1/ 匹配。否则代理将无法在这两种情况下正确映射您的请求。

如果您想将您的应用程序之一映射为根 (/),请确保将其包含在您的 bitnami-apps-prefix.conf 文件的末尾:

# Bitnami applications installed in a prefix URL
Include "/opt/bitnami/apps/app1/conf/httpd-prefix.conf"
Include "/opt/bitnami/apps/app2/conf/httpd-prefix.conf"
Include "/opt/bitnami/apps/rootapp/conf/httpd-prefix.conf"

根应用程序设置 -> httpd-app.conf

ProxyPass / http://127.0.0.1:3000/ 
ProxyPassReverse / http://127.0.0.1:3000/

【讨论】:

以上是关于如何在 bitnami MEAN 堆栈服务器上托管两个节点应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Bitnami Stack安装程序非交互式[关闭]

React/webpack - 如何在一台服务器上托管 React 应用程序,在另一台服务器上托管图像/字体?

在 Heroku 问题上部署平均堆栈应用程序

TomCat上托管的Play项目中的随机错误:异常ClientAbortException:null

使用 Bitnami 与使用本机服务器堆栈有啥缺点吗?

如何在 Azure 上托管 html 应用程序