Centos 6.5 apache2.2與tomcat集成多個項目 反向代理設置

1. 安裝apache2.2 參見:訪問我其餘博文

2.需求概況: 
有2個服務:www.test.com, bbs.test.com。分別對應2個tomcat下的2個web應用。由apache httpd做爲互聯網接入服務器,在80端口接收對這2個服務的請求。apache httpd再將這2個請求分別對應到不一樣的後端web服務器(Tomcat)處理。 

3.配置域名映射到本機即127.0.0.1,同時配置service域名 

Java代碼   收藏代碼
  1. 127.0.0.1    localhost www.test.com www.service.test.com bbs.test.com bbs.service.test.com  


4. 分別在2個tomcat裏分別部署一個很是簡單的應用。 

第一個tomcat :端口:8080 

編輯$TOMCAT_HOME/conf/server.xml 

添加一個Host 
Java代碼   收藏代碼
  1. <Host name="www.service.test.com" unpackWARs="true" autoDeploy="true"  
  2. xmlValidation="false" xmlNamespaceAware="false"/>  


再在$TOMCAT_HOME/conf/Catalina下創建一個目錄:www.service.test.com 
而後在www.service.test.com目錄下創建一個ROOT.xml,內容爲: 
Java代碼   收藏代碼
  1. <Context docBase="/home/mahaibo/app/test"  
  2. privileged="true" antiResourceLocking="false" antiJARLocking="false">  
  3. </Context>  

docBase指向具體的項目路徑  

同理第二個tomcat(端口8088)也是同樣的作法: 

編輯$TOMCAT_HOME/conf/server.xml 

添加一個Host: 
Java代碼   收藏代碼
  1. <Host name="bbs.service.test.com" unpackWARs="true" autoDeploy="true"  
  2. xmlValidation="false" xmlNamespaceAware="false"/>  



而後在$TOMCAT_HOME/conf/Catalina下創建一個目錄:bbs.service.test.com 

再在bbs.service.test.com目錄下創建一個ROOT.xml,內容爲: 
Java代碼   收藏代碼
  1. <Context docBase="/home/mahaibo/app/bbs"  
  2. privileged="true" antiResourceLocking="false" antiJARLocking="false">  
  3. </Context>  

  
5. 分別啓動tomcat,能夠經過http://www.service.test.com:8080和http://bbs.service.test.com:8088訪問 

6. 配置apache httpd.conf文件。 

找到apach/conf/httpd.conf文件,確認下面這些文字行前面沒有"#"註釋號: 

Java代碼   收藏代碼
  1. LoadModule proxy_module modules/mod_proxy.so  
  2. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so  
  3. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so  
  4. LoadModule proxy_connect_module modules/mod_proxy_connect.so  
  5. LoadModule proxy_http_module modules/mod_proxy_http.so  
  6. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so  


並增長虛擬主機配置: 
Java代碼   收藏代碼
  1. NameVirtualHost *:80  
  2. <VirtualHost *:80>  
  3. ServerName www.test.com  
  4. ProxyIOBufferSize 8192  
  5. ProxyRequests Off  
  6. ProxyVia Full  
  7. ProxyPass / http://www.service.test.com:8080/ smax=5 max=20 ttl=120 retry=300  
  8. </VirtualHost>  
  9.   
  10. <VirtualHost *:80>  
  11. ServerName bbs.test.com  
  12. ProxyIOBufferSize 8192  
  13. ProxyRequests Off  
  14. ProxyVia Full  
  15. ProxyPass / http://bbs.service.test.com:8088/ smax=5 max=20 ttl=120 retry=300  
  16. </VirtualHost>  


7.重啓apache  web

service httpd restart apache

8.如今能夠訪問啦。 後端

PS:若是出現設置完還出現端口跟在後面的狀況,那就把 tomcat

ProxyPreserveHost On

加在虛擬主機配置中去,再重啓apche就好了。 服務器

若是出現503錯誤,執行 /usr/sbin/setenforce 0 實時生效的方式就搞定了 app

相關文章
相關標籤/搜索