【本文轉載】
背景:
現有服務器只運行了一個網站 沒有使用apache, tomcat端口爲80 ,現在希望在服務器在添加一個站點 而不使用現有的tomcat.但多個tomcat不能共用一個80端口,所以希望通過apache使用80端口,然後在分發對應的tomcat,實現多個tomcat在一個服務器上共存.
網上也有很多類似的實例,本文是參考多篇文章然後自己在本機動手測試成功之後寫成的,但仍有許多不足,敬請諒解
環境與軟件
操作系統 xp
apache2.2
tomcat 6.0.32
Tomcat1的設定
Shutdown 端口
<Server port="8016" shutdown="SHUTDOWN">
http 端口
<Connector connectionTimeout="20000" port="9080" protocol="HTTP/1.1" redirectPort="8443"/>
AJP 端口
<Connector port="8020" protocol="AJP/1.3" redirectPort="8443"/>
HOTST 配置
<Host appBase="webapps" autoDeploy="true" name="www.123.com" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
Tomcat2的設定
Shutdown 端口
<Server port="8006" shutdown="SHUTDOWN">
http 端口
<Connector connectionTimeout="20000" port="9090" protocol="HTTP/1.1" redirectPort="8443"/>
AJP 端口
<Connector port="8030" protocol="AJP/1.3" redirectPort="8443"/>
HOTST 配置
<Host appBase="webapps" autoDeploy="true" name="www.abc.com" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
Apache設定
httpd.conf
1. 使用apache自帶的proxy模塊,去掉註釋使其可用
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_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
2. 去掉 Include conf/extra/httpd-vhosts.conf的註釋