• [WebServer] Linux下Apache与Tomcat整合的简单方法


    Apache与Tomcat比较联系

    apache支持静态页,tomcat支持动态的,比如servlet等。

    一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的。

    apache可以支持phpcgiperl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理。

    apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。

    这两个有以下几点可以比较的:
    1、两者都是apache组织开发的
    2、两者都有HTTP服务的功能
    3、两者都是免费的

    不同点:
    Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)
    Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器

    整合的好处是:
    如果客户端请求的是静态页面,则只需要Apache服务器响应请求
    如果客户端请求动态页面,则是Tomcat服务器响应请求
    因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销

    1、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。
    到Apache官方网站下载所需要的文件:
    httpd-2.2.0.tar.gz
    apache-tomcat-5.5.12.tar.gz
    jakarta-tomcat-connectors-1.2.15-src.tar.gz
    其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包。

    2、安装Apache。
    # tar xzvf httpd-2.2.0.tar.gz
    # cd httpd-2.2.0
    # ./configure --prefix=/usr/local/apache2 --enable-so
    # make
    # make install

    3、安装Tomcat。
    # cp apache-tomcat-5.5.12.tar.gz /usr/local/
    # cd /usr/local
    # tar xzvf apache-tomcat-5.5.12.tar.gz
    # ln -s apache-tomcat-5.5.12 tomcat

    4、编译生成mod_jk。
    # tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
    # cd jakarta-tomcat-connectors-1.2.15-src/jk/native
    # ./configure --with-apxs=/usr/local/apache2/bin/apxs
    # make
    # cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

    5、配置。
    在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。

    # vi mod_jk.conf
    添加以下内容:
    # 指出mod_jk模块工作所需要的工作文件workers.properties的位置
    JkWorkersFile /usr/local/apache2/conf/workers.properties

    # Where to put jk logs
    JkLogFile /usr/local/apache2/logs/mod_jk.log

    # Set the jk log level [debug/error/info]
    JkLogLevel info

    # Select the log format
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

    # JkOptions indicate to send SSL KEY SIZE,
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

    # JkRequestLogFormat set the request format
    JkRequestLogFormat "%w %V %T"

    # 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
    JkMount /servlet/* worker1
    JkMount /*.jsp worker1

    # vi workers.properties
    添加以下内容:
    # Defining a worker named worker1 and of type ajp13
    worker.list=worker1

    # Set properties for worker1
    worker.worker1.type=ajp13
    worker.worker1.host=localhost
    worker.worker1.port=8009
    worker.worker1.lbfactor=50
    worker.worker1.cachesize=10
    worker.worker1.cache_timeout=600
    worker.worker1.socket_keepalive=1
    worker.worker1.socket_timeout=300

    再配置httpd.conf,作以下修改:
    将Listen 80 修改为 Listen 127.0.0.1:80
    将ServerName 修改为 ServerName LocalHost:80

    在DirectoryIndex中添加 index.jsp

    我的网页放在/var/wwwroot下,所以要修改DocumentRoot
    DocumentRoot "/var/wwwroot"
    <Directory "/var/wwwroot">
        Options Includes FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
        XBitHack on
    </Directory>
    <Directory "/var/wwwroot/WEB-INF">    
        Order deny,allow
        Deny from all
    </Directory>

    增加关于加载mod_jk的语句:
    LoadModule jk_module modules/mod_jk.so
    Include /usr/local/apache2/conf/mod_jk.conf


    最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
    <Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>
    在/var/wwwroot下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。

  • 相关阅读:
    面试题58 二叉树的下一个结点
    面试题57 删除链表中重复的结点
    面试题56 链表中环的入口结点
    面试题55 字符流中第一个不重复的字符
    面试题54 表示数值的字符串
    面试题50 树中两个结点的最低公共祖先
    面试题53 正则表达式匹配
    面试题52 构建乘积数组
    面试题51 数组中重复的数字
    Qt链接库出错version Qt_5 not defined
  • 原文地址:https://www.cnblogs.com/jqmtony/p/4207040.html
Copyright © 2020-2023  润新知