apache 配虛擬主機轉發到tomcat


我用的是apache2.4.23, 連接tomcat使用自帶的 proxy-ajp,需要開啟相關模塊

引用  http://www.server110.com/apache/201404/10273.html :

在Apache2.2之前,一般有兩個組件可選擇。mod_jk和mod_jk2。后來mod_jk2由於沒有開發人員的支持,沒更新了,轉而更新mod_jk,所以現在一般都使用mod_jk做Apache和Tomcat的連接器。要指出的是mod_jk支持 Apache 1.x和2.X系列。

不過,自從Apache2.2出來后,又多了兩種種選擇,那就是 proxy-ajp 和 http-proxy。大家知道Apache里的proxy模塊,可以實現雙向代理功能,功能非常強大。其實從連接器的實現原理上來說,用proxy模塊來實現是非常自然的。proxy模塊的功能無非就是把相關的請求發給特定的主機再返回結果。那連接器的功能需求就是要把所有對Servlet/JSP的請求都轉給后台的Tomcat。而且所FreeBSD郵件列表上說,使用proxy-ajp要比 mod_jk的效率要高。看來,使用Apache自帶模塊,要比另外編譯的來得可靠。

既然有了ajp_proxy 專門的 ajp 協議代理,http-proxy 就沒有必要使用這種方法了。

 

1、配虛擬主機vshost,開啟相關模塊

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#開啟 mod_proxy_balancer
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so


# Virtual hosts
Include conf/extra/httpd-vhosts.conf

 

2、httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@rainbow.idreamsky.com
    DocumentRoot "C:/xampp/htdocs"
    ServerName rainbow.idreamsky.com
    ErrorLog "logs/rainbow.idreamsky.com.log"
    CustomLog "logs/rainbow.idreamsky.com.log" common
    
    ProxyPreserveHost On
    ProxyReceiveBufferSize 8388608
    ProxyPassMatch ^/images/gameIcons/* !
    ProxyPassMatch ^/images/reportmail/* !
    ProxyPassMatch ^/images/sysmsg/* !

    ProxyRequests Off
    ProxyPass / balancer://cluster/ stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
    ProxyPassReverse / balancer://cluster/

    <Proxy balancer://cluster>
      BalancerMember ajp://127.0.0.1:8009 route=tomcat1
    </Proxy>
</VirtualHost>


<VirtualHost *:80>
    ServerAdmin webmaster@m.rainbow.idreamsky.com
    DocumentRoot "C:/xampp/htdocs"
    ServerName m.rainbow.idreamsky.com
    ErrorLog "logs/m.rainbow.idreamsky.com-error.log"
    CustomLog "logs/m.rainbow.idreamsky.com-access.log" common
    
    ProxyPreserveHost On
    ProxyReceiveBufferSize 8388608
    ProxyPassMatch ^/images/gameIcons/* !
    ProxyPassMatch ^/images/reportmail/* !
    ProxyPassMatch ^/images/sysmsg/* !

    ProxyRequests Off
    ProxyPass / balancer://cluster/ stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
    ProxyPassReverse / balancer://cluster/

    <Proxy balancer://cluster>
      BalancerMember ajp://127.0.0.1:8019 route=tomcat2
    </Proxy>
</VirtualHost>

 

參考文檔:

1、Apache和tomcat服務器使用ajp_proxy模塊  http://www.server110.com/apache/201404/10273.html

2、mod_jk模式  Apache和Tomcat整合配置實現JAVA應用的“動靜”分離 http://blog.sina.com.cn/s/blog_3c9872d00102w00y.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM