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代碼
- 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代碼
- <Host name="www.service.test.com" unpackWARs="true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false"/>
再在$TOMCAT_HOME/conf/Catalina下創建一個目錄:www.service.test.com
而後在www.service.test.com目錄下創建一個ROOT.xml,內容爲:
Java代碼
- <Context docBase="/home/mahaibo/app/test"
- privileged="true" antiResourceLocking="false" antiJARLocking="false">
- </Context>
docBase指向具體的項目路徑
同理第二個tomcat(端口8088)也是同樣的作法:
編輯$TOMCAT_HOME/conf/server.xml
添加一個Host:
Java代碼
- <Host name="bbs.service.test.com" unpackWARs="true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false"/>
而後在$TOMCAT_HOME/conf/Catalina下創建一個目錄:bbs.service.test.com
再在bbs.service.test.com目錄下創建一個ROOT.xml,內容爲:
Java代碼
- <Context docBase="/home/mahaibo/app/bbs"
- privileged="true" antiResourceLocking="false" antiJARLocking="false">
- </Context>
5. 分別啓動tomcat,能夠經過http://www.service.test.com:8080和http://bbs.service.test.com:8088訪問
6. 配置apache httpd.conf文件。
找到apach/conf/httpd.conf文件,確認下面這些文字行前面沒有"#"註釋號:
Java代碼
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
- LoadModule proxy_balancer_module modules/mod_proxy_balancer.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
並增長虛擬主機配置:
Java代碼
- NameVirtualHost *:80
- <VirtualHost *:80>
- ServerName www.test.com
- ProxyIOBufferSize 8192
- ProxyRequests Off
- ProxyVia Full
- ProxyPass / http://www.service.test.com:8080/ smax=5 max=20 ttl=120 retry=300
- </VirtualHost>
-
- <VirtualHost *:80>
- ServerName bbs.test.com
- ProxyIOBufferSize 8192
- ProxyRequests Off
- ProxyVia Full
- ProxyPass / http://bbs.service.test.com:8088/ smax=5 max=20 ttl=120 retry=300
- </VirtualHost>
7.重啓apache web
service httpd restart apache
8.如今能夠訪問啦。 後端
PS:若是出現設置完還出現端口跟在後面的狀況,那就把 tomcat
ProxyPreserveHost On
加在虛擬主機配置中去,再重啓apche就好了。 服務器
若是出現503錯誤,執行 /usr/sbin/setenforce 0 實時生效的方式就搞定了 app