我有两个web应用程序,一个在PHP中,一个在Java (Play框架)中。
我希望将这两个应用程序都提供给我的客户端,并且我只有一台用于测试环境的服务器。
对于我的问题,什么是最好的和容易维护的方法?
我已经在研究Apache服务器上虚拟主机的选项。但最好的是吗?是否有任何第三方工具可以帮助我将流量转移到基于http请求中端口的PHP和Java应用程序?
PHP应用程序的端口号为80,Java应用程序为9000。
你好,Suraj
发布于 2014-10-14 14:34:09
感谢您的评论。
是啊,我也做过同样的事。我只是简单地将我的域名指向Apache Http服务器。因此,它使用默认端口80,而不显示在urls中。
另外,我使用Apache作为前端服务器来处理我对端口9000的所有请求。因此,我将通过Apache端口80重路由端口9000上的Play应用程序请求。它需要改变url模式,以便能够区分play和apache特定的url。
更改urls,并使用proxy_http_module + ProxyPassMatch指令使重路由工作。
苏拉杰
发布于 2014-09-22 09:56:57
假设两个端口都被正确转发,而Apache只监听端口80上的通信量,java只侦听9000,那么转到YourIp:80应该带您到apache,而YourIP:9000应该带您到java应用程序。
发布于 2014-09-22 11:43:24
对于PHP应用程序通常创建通用的 vhost ,对于Play app创建反向代理vhost(与此对应的其他域和/或子域),请查看文档中的样本。
LoadModule proxy_module modules/mod_proxy.so
...
<VirtualHost *:80>
DocumentRoot "/path/to/your/php/app/root/folder/"
ServerName your-php-app.com
ErrorLog "/path/to/apache/logs/folder/your-php-app.com-error_log"
CustomLog "/path/to/apache/logs/folder/your-php-app.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ServerName your-play-app.com
ProxyPass /excluded !
ProxyPass / http://127.0.0.1:9000/
ProxyPassReverse / http://127.0.0.1:9000/
</VirtualHost>https://stackoverflow.com/questions/25971210
复制相似问题