zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Redis5设计与源码分析 (第17章 HyperLogLog相关命令的实现)
    Redis5设计与源码分析 (第16章 GEO相关命令)
    ES5和ES6函数的this指向
    vue响应式原理 (响应式并不等于数据双向绑定,千万不要混淆)
    vue中data为什么是函数而不是对象
    vue-enum 前端常量 枚举工具
    Vue3 写业务逻辑不适合用TS(TypeScript)
    vue-property-decorator vue3 ts 用的装饰器
    github git clone下载加速 && npm install 下载加速
    vue3 如果用ts,导出时候要用 defineComponent,这俩是配对的,为了类型的审查正确
  • 原文地址:https://www.cnblogs.com/xunux/p/6044247.html
Copyright © 2011-2022 走看看