Chinaunix首页 | 论坛 | 博客
  • 博客访问: 857377
  • 博文数量: 254
  • 博客积分: 5350
  • 博客等级: 大校
  • 技术积分: 2045
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 13:27
文章分类

全部博文(254)

文章存档

2015年(1)

2014年(9)

2013年(17)

2012年(30)

2011年(150)

2010年(17)

2009年(28)

2008年(2)

分类: 系统运维

2011-04-14 17:31:31

jdk-1_5_0_04-linux-i586.bin

apache-tomcat-5.5.17.tar.gz 

httpd-2.2.3.tar.gz

jakarta-tomcat-connectors-jk2-src-current.tar.gz

下载地址:

Tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的web服务器,但它在对静态资源(如html文件和图像文件)的处理速度和管理功能都不及专业的HTTP服务器,如IISApache

Tomcat与其他HTTP服务器集成时,Tomcat的工作模式为进程外的Servlet容器,TomcatHTTP服务器之间通过专门的插件Connector来通信,通信协议叫AJPConnector里面专门提供了一个叫做mod_jk的模块(或者叫插件),应该把JK插件配置在HTTP服务器中,当HTTP服务器接收来自客户请求时,它会通过JK插件来过滤URLJK插件根据预先配置好的URL映射信息决定是否要把客户请求转给Tomcat来处理。Tomcat处理后将响应结果传给HTTP服务器,HTTP服务器在传给客户。如图:

 

Web客户1

Web客户2

连接器(8080

Tomcat服务器

Index.jsp

HTTP服务器

JK插件

连接器(8009

对于不同的HTTP服务器,Tomcat提供了不同的JK插件:

l         Windows下的Apache集成的JK:mod_jk_2.0.46.dll

l         Linux下的Apache集成的JK:mod_jk.so

l         IIS集成:isapi_redirect.dll

还要用到一个配置文件workers.properties

参考资料:

# ./jdk-1_5_0_04-linux-i586.bin

# vi /etc/profile

JAVA_HOME=/opt/apache+tomcat/jdk

CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/bin:sbin:/usr/bin:/usr/sbin:/usr/local/bin:$PATH

export JAVA_HOME CLASS_PATH PATH

测试:

# java -version

java version "1.5.0_04"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)

Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)

说明成功安装jdk

#mv apache-tomcat-5.5.17  /opt/apache+tomcat/tomcat

# vi /etc/profile

JAVA_HOME=/opt/apache+tomcat/jdk

CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

CATALINA_BASE=/opt/apache+tomcat/tomcat

CATALINA_HOME=/opt/apache+tomcat/tomcat

PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/bin:sbin:/usr/bin:/usr/sbin:/usr/local/bin:$PATH

export JAVA_HOME CLASS_PATH PATH CATALINA_BASE CATALINA_HOME

测试:

# /opt/apache+tomcat/tomcat/bin/startup.sh

Using CATALINA_BASE:   /opt/apache+tomcat/tomcat

Using CATALINA_HOME:   /opt/apache+tomcat/tomcat

Using CATALINA_TMPDIR: /opt/apache+tomcat/tomcat/temp

Using JRE_HOME:       /opt/apache+tomcat/jdk

 # netstat -an|more

tcp     0      0 :::8080                     :::*                        LISTEN

打开执行它

如果正常返回结果说明成功安装tomcat

# ./configure --prefix=/opt/apache+tomcat/httpd2 --enable-so

# make

# make install

测试: 略

1.2.19-src使apache连接tomcat

首先查看软件如何安装让apache连接tomcat的手册,里面描述了连接apache2apache1.3,IIS的安装和配置方法。

Vi tomcat-connectors-1.2.19-src/native/BUILDING

 

1# cd tomcat-connectors-1.2.19-src/native

2)#./configure --with-apxs=/opt/apache+tomcat/httpd2/bin/apxs --with-java-home=/opt/apache+tomcat/jdk/ --with-java-platform=2 -enable-jni

3# make

此时查看当前目录apache-2.0里会生成一个叫mod_jk.so的转向器文件

4# cd apache-2.0/

5# cp mod_jk.so /opt/apache+tomcat/httpd2/modules/

6)配置apache使用转向器并告诉apache转向器mod_jk的配置文件workers.properties的位置。

# vi httpd.conf

DirectoryIndex index.html index.jsp

DocumentRoot "/opt/apache+tomcat/httpd2/html" 

DocumentRoot "/opt/apache+tomcat/httpd2/html"

LoadModule jk_module modules/mod_jk.so JkWorkersFile "conf/workers.properties"JkLogFile "logs/mod_jk.logJkLogLevel debugJkMount /*.jsp worker1JkMount /webapp/* worker1 注意:上面的几条语句在最后两条是关键,也就是说,在apache处理到/servlet/*/*.jsp这样的URL时就会把处理权交给tomcat!后面测试时也要注意这个地方要写成/servlet/…

Vi  /opt/apache+tomcat/httpd2/conf/workers.properties

# the list of workers        定义works名称叫worker1,多个用,分隔worker.list= worker1worker2

# worker "worker1" will talk to Tomcat listening on machine localhost at port 8009 using 2 lb factor 定义监听的域名,端口,lb 因数

worker.tomcat1.host=localhost

worker.tomcat1.port=8009

worker.tomcat1.type=ajp13                                     #类型

worker.tomcat1.lbfactor=2                                      #负载平衡因数

worker.tomcat1.cachesize=10 

worker.tomcat1.cache_timeout=600 

worker.tomcat1.socket_keepalive=1 

worker.tomcat1.socket_timeout=300

说明:其中worker.tomcat1.type=  可以有下面几种类型

# Defines a worker named "remote" that uses the ajpv13 protocol to forward requests to a Tomcat process.

  worker.remote.type=ajp13 

# Defines a worker named "fast" that uses JNI to forward requests to a Tomcat process.

  worker.fast.type=jni

# Defines a worker named "loadbalancer" that loadbalances several Tomcat processes transparently.

worker.loadbalancer.type=lb

 

详细参数配置参考官方网站:

7)配置Tomcat的主配置文件server.xml,添加连接器,默认已经有两个连接器

l         第一个连接器监听8080端口,负责直接建立与客户的HTTP连接。

   

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true" />

l         第二个连接器监听8009端口,负责与其他HTTP服务器建立连接,我们这里就需要用到这个。

   

               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

8)重新启动apache,重启tomcat

注意:如果重启apache出现类似“Invalid command JkWorkersFile”的错误,很可能是因为你下载了

错误的转向器jakarta-tomcat-connectors-jk2-src-current.tar.gz。请下载官方网站的

tomcat-connectors-1.2.19-src.tar.gz重新安装就可以解决问题。因为官方网站上不推荐使用jk2

关于connectorFAQ请访问官方网址:  

8)测试

Tomcat安装后会自带一个测试jspservlet的应用,我们就拿这个测试。

首先,拷贝它到Apache的主目录中

#cp –Rp tomcat/webapps/jsp-examples  /opt/apache+tomcat/httpd2/html

然后,直接访问将会打开一个页面,执行其中的例子,如果返回的结果与的结果一样说明Apache集成Tomcat成功了。

阅读(1450) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~