zoukankan      html  css  js  c++  java
  • [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/,应该可以看到正确的页面了。

  • 相关阅读:
    Minimum Depth of Binary Tree leetcode java
    Maximum Depth of Binary Tree leetcode java
    Symmetric Tree leetcode java
    Same Tree leetcode java
    Binary Tree Postorder Traversal leetcode java
    Binary Tree Preorder Traversal leetcode java
    Binary Tree Inorder Traversal leetcode java
    Combinations leetcode java
    一键清除Centos iptables 防火墙所有规则
    阿里云centos7.7x64安装open,并配置ip转发和nat伪装
  • 原文地址:https://www.cnblogs.com/jqmtony/p/4207040.html
Copyright © 2011-2022 走看看