2014-09-22 38 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

相關問題