CSDN博客

img qlampskyface

也谈win2000下tomcat&apache的配置

发表于2004/3/30 19:17:00  1096人阅读

分类: J2EE


作者:qlampskyface

和作者联系:xiaozuidaizhi@sina.com


   

              在配置之前,要明确以下两点。
1.为什么要配置?
2.为什么要这么配置?


    1.为什么要配置?
    其实,作为tomcat,安装完成之后,已经能够作为网站服务器使用了。对于很多使用者来说,它已经足够了,所以,如果你的目的不是配置,而是使用,那么你很可能就不需要看下去了。 
    但是,tomcat单独作为网站服务器呢,有一些缺陷,比如

  1. Tomcat 处理静态页面没有apache快
  2. Tomcat不如apache容易配置
  3. Tomcat没有apache稳定健壮
  4. apache支持CGI 脚本和API,perl,php等等

正是因为上面的原因,我们在有些场合时,将两者整合起来使用。我再重申一次-----Tomcat+Apache最大的一个好处,就是让他们各司其职:
Apache负责解析静态页面,Tomcat负责处理Servlet/Jsp.


    2.为什么要这么配置?
    你很有可能也听说过weblogic,websphere,和jbuilder整合的案例,这些案例也能配置网站服务器,jbuilder、weblogic...这些工具不可谓不好,但是这些工具有一个致命的弱点,那就是---They are not free!而tomcat+apache is free,而且,对于个人,以及中小型企业来说,tomcat+apache已经够用了,所以,下面的我就不用说了吧。

    好了,我们开始配置我们的网站服务器吧!

    我来说一下我们需要的一些安装文件吧。

    j2sdk(我的是1.4.2)、Apache HTTP Server(我的是2.0.43)、Tomcat(我的是4.1.29)、mod_jk2-2.0.43.dll。为什么要提到软件的版本呢?是因为不同的版本之间可能配置的方法有细微的差别,但是也不要唯版本论,一看版本不一样了,就不知道怎么办了,其实只要懂得配置的原因,那样就万变不离其宗,你也就不用担心版本不同了。

Apache HTTP Server2.0:(找不到2.0.43就找47或48也可以)

http://www.apache.org/dist/httpd/binaries/win32/apache_2.0.43-win32-x86-no_ssl.exe

Tomcat:

http://www.apache.org/dist/jakarta/tomcat-4/v4.1.29/bin/jakarta-tomcat-4.1.29.exe

mod_jk2-2.0.43.dll:(下下来解压缩即可)

http://www.apache.org/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.2-win32-apache2.0.43.zip

    我们配置应该按照下面的五步,按步骤来,会感觉到思路很清晰。
   
    1.安装。
    2.设置环境变量。
    3.整合。
    4.添加。
    5.测试。
   
    一、安装。

    需要注意的是,请按照j2sdk、apache、tomcat的顺序安装。这是因为,我们配置的目的,是将tomcat配置成为apache的in-process部件。当处理页面的时候,apache首先得到这个页面,然后对页面进行分析,如果这个页面仅仅是一个静态的页面的话,那么apache就自己处理,不用交给tomcat,但是如果该页面是一个非静态页面时,就交给站在后面的tomcat来处理,处理完之后再交给apache。这就是为什么要先安装apache后安装tomcat的原因。再者,在安装apache的时候需要你填入

        1.域名

        2.服务器名

        3.email

需如实填写(如域名填为127.0.0.1等)
   

    二、设置环境变量。

        共有五项。
        1.JAVA_HOME
        2.PATH
        3.CLASSPATH
        4.CATALINA_HOME
        5.TOMCAT_HOME
关于前三项的配置我就不多说了,是jdk的设置。其中CLASSPATH中要将jdk的lib目录下的tools.jar和dt.jar加上。第4和第5项的配置是相同的:都是Tomcat的安装路径(比如我的Tomcat安装在D:/Program Files/Apache Group/Tomcat 4.1)
   

    三、整合。

    将上述的mod_jk2-2.0.43.dll复制进Apache2目录下的modules文件夹即可。整合操作很简单,但意义重大,全靠这个文件,才使得Apache和Tomcat能够配合起来使用。在这个环节要特别注意的是mod_jk文件有两种,一种是我们用到的jk2,一种是jk(比如mod_jk_1.2.5_2.0.47.dll),这一点在初次配置的时候要特别注意,不要看错了,因为不同的文件配置方法完全不同,切记切记!
   

    四、添加。

    在这个环节中,有两个地方的两个文件需要进行添加。第一处是Apache2安装目录下conf文件夹里的httpd.conf配置文件的修改;第二处是Tomcat安装目录下conf文件夹里增加一个名为workers2.properties的属性文件。由于两个都是conf目录,所以不要弄错了。

    第一处,修改httpd.conf文件:


        打开httpd.conf文件,查找DirectoryIndex,在index.html index.html.var 后面添加index.jsp,注意要用空格隔开。这个的目的是让index.jsp作为默认打开格式的文件。在httpd.conf的最后添上以下内容。

        LoadModule    jk2_module modules/mod_jk2-2.0.43.dll
        ServerAdmin   webmaster@djb
        DocumentRoot  "D:/Program Files/Apache Group/Tomcat 4.1/webapps/ROOT"
        ServerName    djb
 
        其中
        LoadModule     是装载整合Apache与Tomcat的模块mod_jk...,这样当Apache遇到jsp文件时,就在后台将其交由Tomcat去处理了。
        webmaster@djb  是你的mail地址,当服务器出现问题时,显示在错误页面上,便于别人与你联系。
        DocumentRoot  是网站的入口,总的路径,这点必须要和Tomcat的入口保持一致,在这里我让它指向了Tomcat的默认页面。这里要注意的是,如果你的tomcat路径中没有空格的话,就不必用""引住路径,但是如果像我的一样,中间有空格,必须用""引住。
        ServerName    是apache安装所在的机器名。在这里,尤其注意的是,你路径上面的反斜杠/必须全部被替换为/,切记切记
   
    第二处,添加workers2.properties文件。

    在Tomcat安装目录下conf文件夹下新建文件,以workers2.properties命名。在里面添加如下内容:
 # Define the communication channel
 [channel.socket:localhost:8009]
 info=Ajp13 forwarding over socket
 tomcatId=localhost:8009
 # Map All webapp to the Web server uri space
 [uri:/*]
 info=Map the whole webapp

        其中,以#开头的行是说明性文字。
        这里完成的是定义apache和tomcat的交流端口(本机的8009端口)和协议(ajp13)、以及uri。
        uri部分不一定按照上面的定义,可以设置对自己有用子路径。比如只想公开子路径examples下的东东时,可以如下定义:
 # Map the Tomcat examples webapp to the Web server uri space
 [uri:/examples/*]
 info=Map the whole webapp.

    五、测试。

    分别启动Apache和Tomcat,然后打开浏览器,输入http://localhost/,如果你看到一只小猫变态得看着你的话,那么恭喜你,你配置成功了,如果你想验证一下,你再输入http://localhost:8080/,如果还有一只一模一样的变态小猫看着你的话,你就可以确定了。

    多说几句,一般,我们开发程序的时候,需要频繁得重启、调试、中断。如果你是在apache+tomcat的组合上开发,你会发现非常麻烦。这时,适宜只用Tomcat,它也是可以直接对静态页面解析...所以,我们在开发的时候就可以不集成apache+tomcat...我们可以在程序调试成功后,再发布到一个apache+tomcat的机器上。并且,服务器的启动有两种模式:调试模式和正常模式,如果你让你的应用处于调试模式,效率也是非常低的。

    所以,一般,我们写程序的時候,是在单独的Tomcat上进行的。到了发布的时候,就发布到Tomcat+Apache上。

    最后,如果你不幸失败了,那么请你:
    1.检查版本是否一致;
    2.如果一致,那么请你检查你的操作是否正确,比如mod_jk2还是jk...,反斜杠问题;
    3.如果不一致,请你搜索其他文章,并参考这篇文章.(这篇文章绝对值得参考!)

 

0 0

相关博文

我的热门文章

img
取 消
img