程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用Apache的代理,整合多個Tomcat

使用Apache的代理,整合多個Tomcat

編輯:關於JAVA

x一個網友的一個Tomcat下面跑了10幾個應用,經常造成內存溢出,希望能夠拆分到多個Tomcat裡面。從CSDN上面找到我。

現狀分析:

其每個應用都有各自的二級域名,能夠通過互聯網訪問

其有幾個應用放在一起,也就是只有部分應用希望運行在一個tomcat裡面

目前使用了jk的連接器

建議:

運行多個tomcatr實例,通過偵聽的端口進行區分。

對於每個tomcat,配置各自需要服務的虛擬主機

使用Apache的Proxy進行代理轉發,轉到對應的tomcat上面,重點在端口不同

取消jk連接,減少復雜度。雖然損失了一些Apache對靜態文本的性能,但整體看還是值得的

結果:

tomcat的server.xml裡面配置了各自的虛擬主機,比如 www.aaa.com 和 oa.aaa.com。第一個是主域名,第二個是二級域名。tomcat端口為8080。第二個tomcat配置了一個 sales.aaa.com 用來支持銷售,端口為8081。詳細的配置文件請參考tomcat的虛擬主機配置,這裡就不寫了。

測試各個虛擬主機的運行是否正常,使用 http:// oa.aaa.com:8080/ 這樣的方式進行測試。

apache的 httpd.conf配置

打開代理所需要的.so支持模塊,在httpd.conf裡面,取消下面四行的注釋:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

制作各自的虛擬主機

NameVirtualHost *:80 
<VirtualHost *:80>
ServerName www.aaa.com
ProxyPass / http:// www.aaa.com:8080/
ProxyPassReverse / http:// www.aaa.com:8080/
</VirtualHost>
<VirtualHost *:80>
ServerName oa.aaa.com
ProxyPass / http:// oa.aaa.com:8080/
ProxyPassReverse / http:// oa.aaa.com:8080/
</VirtualHost>
<VirtualHost *:80>
ServerName sales.aaa.com
ProxyPass / http://sales.aaa.com:8081/
ProxyPassReverse / http://sales.aaa.com:8081/
</VirtualHost>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved