zoukankan      html  css  js  c++  java
  • Tomcat与Apache HTTPD的集成

    前言

    最近读<Apache Tomcat7 essential>, 书中有介绍了TOMCAT 7与Apache httpd 的集成,特记录如下,以备后查。

    背景

    TOMCAT偏向应用服务器,前端部分使用HPPTD更合适,针对静态的页面请求,httpd的性能要较tomcat高。使用前端可以隐藏后端服务器的相关信息,如端口等。

    安装httpd,tomcat,mod_jk.so

    从官网下载httpd,tomcat,典型安装即可,tomcat 7 最好安装JDK6,虽然允许只安装JRE6。默认安装下httpd使用80 端口,tomcat使用8080端口。

    二者的集成可以通过两种连接器实现。分别为mod_proxy.so & mod_jk.so。 依介绍jk的性能要好于proxy,同时支持load balance. 下载支持AJP的TOMCAT连接器,mod_jk.so windows下使用的版本。将mod_jk.so复制到apache的modules目录下。在conf目录下新增配置文件,假设命名为mod-jk.conf,内容如下:

    LoadModule jk_module modules/mod_jk.so 
    JkWorkersFile conf/workers.properties
    JkLogFile logs/jklogs.log
    JkLogLevel Info
    JkMount /sample/* node1

    说明如下:从modules目录下加载mod_jk.so文件, 连接器的工作者线程的配置信息在conf目录下的workers.properties文件中(后面会有说明),事件的LOG记录在logs目录下的jklogs.log文件中。LOG的等级为Info。 最后一行指出,当碰到访问路径是/sample开头的URL时,将请求转至node1(该节点信息就是在workers.properties中进行配置),JkMount的mapping部分可以出现多行,进行多个模式的匹配。 下面我们给出workers.properties的文件内容,如下:

    1 worker.list=node1
    2 worker.node1.port=8009
    3 worker.node1.host=10.0.2.15
    4 worker.node1.type=ajp13
    5 worker.node1.lbfactor=1

    说明如下:指定了节点信息,该内容同conf文件中的JkMount所指定的名称。端口号,必须与Tomcat中的server.xml文件中<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />所定义的port一致。host指定了主机地址,(但依我目前的做的测试,不管主机地址填什么,mod_jk.so都是将请求转给127.0.0.1来接受,也就是host指向其他的机器好像没有作用)。lbfactor参数是与load balancing有关的。

    总结

    配置完毕后,重启apach httpd。

    http://127.0.0.1 访问的是httpd

    http://127.0.0.1/samples 即实际访问的是tomcat下的http://127.0.0.1:8080/samples,从而达到自动转发的目的

  • 相关阅读:
    夜神模拟器+seleinm抓取手机app(参考资料集合)
    关于pycharm导入其他项目时出现找不到python无法运行的问题
    关于动态规划的一点研究
    numpy里的randn
    关于pandas里面的合并
    笛卡尔乘积的解释
    Python链表与反链表
    年度总结一下
    Docker的使用初探(一):常用指令说明
    Java开发学习心得(三):项目结构
  • 原文地址:https://www.cnblogs.com/jeanvixue/p/2483261.html
Copyright © 2011-2022 走看看