Apache+Tomcat 怎么整合,最好是Ubuntu下。

解决方案 »

  1.   

    Apache的HTTPD是目前比较受欢迎的网站服务器软件,它不但功能强大,而且完全免费,并且支持市场上流行的各种操作系统(Windows,Linux,Mac os)。同时对于Java Servlet/JSP的支持,通常也会使用同样Apache出品的Tomcat。
    Tomcat除了支持Java Servlet/JSP之外,也可以当做网站服务器使用,但是在对于静态的html文件、图片文件等的解析效率上不如Apache HTTPD的执行效率高。应用tomcat的服务器如果网站的访问量较大,系统资源占用会明显升高,近日笔者在项目执行过程中遇到这一问题,便也想到同时应用tomcat+apache服务。Apache负责静态资源处理,tomcat负责jsp和java servlet等动态资源的处理。在网上看了不少介绍Apache和Tomcat集成的帖子。大多为互相转贴,有几个关键问题没有讲清楚,并且多数文章讲解中所举的软件版本都已经比较老旧。因而笔者总结自己实际操作的经验,希望对大家有所帮助。准备工作:
    1、  apache 2.0.55
    下载地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi
    2、  Tomcat 5.5
    下载地址:http://tomcat.apache.org/download-55.cgi
    3、  JRE1.5.0 update6
    下载地址:http://java.sun.com/j2se/1.5.0/download.jsp
    你也可以选择安装JDK,JDK不仅包含了运行java应用程序的支持,同时也包含J2SE的开发包。但如果您只是应用的话,我建议您仅下载JRE即可,为什么?因为它小啊:)
    4、JK-apache-2.0.55
    下载地址:
    http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/mod_jk-apache-2.0.55.so
    注意jk的版本一定要与你的apache版本相同。Jk下载可以直接到apache.org官网下载,有多种版本,适用于各种操作系统,地址如下:
    http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
    windows用户进入win32目录,不同的tomcat对应不同jk文件扩展名不同,有可能是*.dll,或者*.so,根据你的tomcat版本下载合适的jk版本。安装,软件的安装顺序可以适当调整,但是jre(jdk)一定要在tomcat之前安装:
    1、安装JRE(JDK)
    此处选择默认安装即可,(旧版本的JDK安装完之后需要设置系统的环境变量,JRE和JDK1.5.0以后版本不设置也没关系。)安装完成之后你可以选择按照下面的示例设置你的系统环境变量:我的电脑->右键属性->常规->高级->环境变量
    JAVA_HOME = d:\Java\jre1.5.0_06
    CLASSPATH = .;d:\Java\jre1.5.0_06\lib\dt.jar;d:\Java\jre1.5.0_06\lib\tools.jar
    PATH = d:\Java\jre1.5.0_06\bin
    注意文件路径要改成你实际安装的路径。2、Apache安装
    此处注意,如果你本机已经装了iis并且占用80端口,务必先在服务中将iis停止或禁用。软件默认安装即可。安装过程中设置Network Domain和Server Name为localhost,设置你的email地址,下方会让你选择only for the current user或for all users。默认选择for all users。这样Apache就会占用80端口,并且做为一个系统服务开机自运行。
    安装完成之后,你在浏览器中输入http://localhost,将会看到Apache的成功页面.Apache的主目录是d:\Apache\Apache2,此时Apache,已经运行,你可以在窗口的托盘看到他的图标,双击图标,在弹开的窗口选择"Open Apache Monitor",点Stop,停止Apaceh服务,因为下面要安装Tomcat和JK.3、Tomcat安装
    选择安装目录为了d:\Tomcat,其余为默认安装.成功后在浏览器中输入http://localhost:8080,出现Tomcat页面表示安装成功了。关于tomcat的设置已经有很多非常详细的文章,在此就不再详述了。4、JK的安装
    把mod_jk_2.0.55.so拷贝到d:\Apache\Apache2\modules\下.以上安装全部完成后,打开cmd命令提示符,运行d:\Apache\Apache2\bin\Apache.exe -t 你将会看到"Syntax OK",表示Apache配置正常.这个命令非常有用,下面在继续配置Apache的时候还会再次用到。配置服务器:1、配置Tomcat
    查找目录下的conf/workers.properties文件,并对比下方文本内容,如有不同以下方内容为准修改。
    workers.tomcat_home=d:\Tomcat #让mod_jk模块知道Tomcat的位置
    workers.java_home=d:\Java\jre1.5.0_06 #让mod_jk模块知道jre的位置
    ps=\
    worker.list=ajp13 #模块版本
    worker.ajp13.port=8009 #工作端口,若没占用则不用修改
    worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
    worker.ajp13.type=ajp13 #类型
    worker.ajp13.lbfactor=1 #代理数,不用修改如果文件不存在则创建。并填充上述内容。2、配置Apache
    打开d:\Apache\Apache2\conf下的httpd.conf,在最后加入下面这段代码并保存。
    #设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
    LoadModule jk_module modules/mod_jk_2.0.55.so
    #此处mod_jk的文件为你下载的文件
    JkWorkersFile "d:/Tomcat/conf/workers.properties"
    #指定tomcat监听配置文件地址
    JkLogFile "d:/Tomcat/logs/mod_jk2.log" 
    #指定日志存放位置
    JkLogLevel info#设置虚拟主机
    <VirtualHost localhost>
    ServerAdmin localhost
    DocumentRoot d:/test1 
    #您的站点项目所在路径,应与tomcat中的目录设置相同
    ServerName localhost
    DirectoryIndex index.html index.htm index.jsp
    ErrorLog logs/shsc-error_log.txt
    CustomLog logs/shsc-access_log.txt common
    JkMount /servlet/* ajp13 
    #让Apache支持对servlet传送,用以Tomcat解析
    JkMount /*.jsp ajp13 
    #让Apache支持对jsp传送,用以Tomcat解析
    JkMount /*.do ajp13 
    #让Apache支持对.do传送,用以Tomcat解析
    </VirtualHost>#开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了serverName,DocumentRoot路径的方式配置站点,实际上,Apache的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如ServerName,DocumentRoot,ServerAdmin等相关项,然后将该项的配置根据你的实际情况进行修改即可。我建议大家可以多多尝试不同的配置,这是一种很有乐趣的体验。
    所有的修改完成这后,再次执行d:\Apache\Apache2\bin\Apache.exe -t 如果看到"Syntax OK",说明你所有配置无误,双击窗口的托盘中的图标,然后点击Start运行。
    在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功
    --转载来自CJSDN的junsansi
      

  2.   

    上面那个是windows下的,呵
    由于ubuntu下apt安装的apache与自己编译安装的目录结构有很大区别,所以有些地方是需要注意一下的。 首先介绍一下apache、tomcat及jk2的安装: 
    Apache2:直接用apt-get安装就可以了,这样比较方便,因为我主要用于开发测试,不作服务器用途,不需要用麻烦的编译安装方法所以偷了一下懒。 
    Tomcat:从官网上下载Tomcat5解压到/opt/tomcat-5.0目录下,这个随便,爱放哪放哪,只要你觉得方便就行:) 
    JK2:这个比较特殊,我是加了http://www-devel.orcaware.com/packages/ubuntu/的源来安装的,用这个很方便,少去很多编辑配置文件的工作,呵呵。 好了,进入主题,由于apt安装,apache和jk的安装目录有点奇怪,里面的配置文件关系也看了我一些时间才弄明白,但这不是今天的主题,我就不在此详述了。安装完毕后为了整合apache和tomcat,你需要做几件事: 
    首先,在tomcat目录的conf文件夹下创建jk2.properties文件,在里面加入 handler.list=channelSocket,request 
    channelSocket.port=8009 两行。然后将/usr/share/doc/libapache2-mod- jk2/examples/workers2.properties.minimal复制到/etc/apache2/目录下,并改名为 workers2.properties,编辑这个文件,将其中 
    [config:] 
    file=${serverRoot}/conf/workers2.properties 
    debug=0 
    debugEnv=0 这段改为: 
    [config:] 
    file=${serverRoot}/workers2.properties 
    debug=0 
    debugEnv=0 保存修改,最后编辑/etc/apache2/mods-available/jk2.conf文件,去掉最后一行: 
    #JkSet config.file /etc/apache2/workers2.properties 
    的注释。 保存并退出编辑,OK,至此apache和tomcat的整合工作已经完成。当然,我今天写的只是最基本的让apache和tomcat协同工作的方法,有很多设置需要你根据的需求自己进行修改。
      

  3.   

    用最新的 apache 和 tomcat 的版本,可以么?
      

  4.   

    Windows下Tomcat+Apache整合 
    http://sech.javaeye.com/blog/175665
      

  5.   

    apache和jk是要对应的,如果版本不同的有可能会有问题,一般一个appache的大版本号都会jk都会有一个版本与之对应
      

  6.   

    这个问题,我推荐两个途径:
    1、google相关的全流程文章
    2、看两个应用官方的文档。