分类: 系统运维
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服务器,如IIS,Apache。
当Tomcat与其他HTTP服务器集成时,Tomcat的工作模式为进程外的Servlet容器,Tomcat与HTTP服务器之间通过专门的插件Connector来通信,通信协议叫AJP。Connector里面专门提供了一个叫做mod_jk的模块(或者叫插件),应该把JK插件配置在HTTP服务器中,当HTTP服务器接收来自客户请求时,它会通过JK插件来过滤URL,JK插件根据预先配置好的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的手册,里面描述了连接apache2,apache1.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= worker1,worker2# 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.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。
关于connector的FAQ请访问官方网址:
8)测试
Tomcat安装后会自带一个测试jsp和servlet的应用,我们就拿这个测试。
首先,拷贝它到Apache的主目录中
#cp –Rp tomcat/webapps/jsp-examples /opt/apache+tomcat/httpd2/html
然后,直接访问将会打开一个页面,执行其中的例子,如果返回的结果与的结果一样说明Apache集成Tomcat成功了。