引用此 link,我在 Bitnami Mean 堆栈服务器上托管了两个 Node 应用程序
问题
1) 根据此文档,我的应用程序应在 http://[your-IP-address]/myapp 上运行url 但它直接在 http://[your-IP-address] 打开.
2) 我托管了两个在 4000 和 5000 端口运行的 Node 应用程序。当您点击 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/
最佳答案
您必须在每个应用程序的 httpd-app.conf 中的 ProxyPass
和 ProxyPassReverse
映射不同的路径。
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/
关于node.js - 如何在 bitnami MEAN 堆栈服务器上托管两个 Node 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36369752/