2014-09-22 63 views
1

我有两个Web应用程序,一个使用PHP,一个使用Java(Play框架)。在同一主机上设置PHP和Java应用程序的最佳方法

我想使这两个应用程序都可用于我的客户端,并且我只有一台服务器用于测试环境。

对于我的问题,最好和容易维护的方法是什么?

我已经在寻找Apache服务器上虚拟主机的选项。但是最好的?有没有第三方工具可以帮助我根据http请求中的端口将流量转移到PHP和Java应用程序?

端口号为PHP应用程序是80和Java应用程序是9000

问候, 苏拉杰

回答

0

感谢您的评论。

是的,我做了同样的事情。我只是将我的域名指向Apache Http服务器。所以它使用默认的端口80,并不会显示在网址中。

此外,我使用Apache作为前端服务器,用于端口9000的所有请求。因此,我通过Apache端口80重新路由了我在端口9000上播放应用程序的请求。它需要更改网址格式,以便播放和可以区分apache特定的URL。

更改了网址并使用了proxy_http_module + ProxyPassMatch指令来获取重新路由工作。

Suraj

0

假设两个端口都正确转发和Apache只能监听通信的端口80和Java是只听然后去YourIp:80应该带你到Apache和YourIP:9000应该带你到Java应用程序

+0

我不想在我的网址中使用端口号。 – Suraj 2014-09-24 06:14:26

+0

当你设置一个域名时,你可以将它指向IP:端口号 ,例如131.23.141.12:80,因此一旦域“www.MyDomain.com被指向端口,你将不会在你的url中看到端口号 – 2014-10-13 13:31:45

0

对于PHP应用程序创建常见的虚拟主机作为usally,并为Play应用程序创建反向代理虚拟主机(与其他域和/或子域) ,看看samples in docs

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> 
+0

对于我的PHP和Java应用程序,域名是一样的,只有端口号是不同的,所以PHP(Apache)在www.mydomain.com:80上监听,而Java框架在www.mydomain.com:9000上监听。控制器和操作的其他路径是不同的,例如:www.mydomain.com:80/customer/profile和www.mydomain.com:9000/api/order。如何在Apache中配置虚拟主机以接收www.mydomain的流量。 com:9000/api /命令在端口80并将它路由到我的Java应用程序在端口9000? – Suraj 2014-09-26 08:14:04

+0

目标是使两个应用程序侦听端口80,并根据控制器/操作将流量路由到相应的应用程序,以便端口号9000可以已经从...删除Java应用程序的网址。 – Suraj 2014-09-26 08:22:54

相关问题