通过集成APR提高tomcat处理静态资源的能力
Tomcat在处理静态资源上面有一定的能力缺陷,所以通常我们会通过Apache与Tomcat集成,让Apache处理所有的静态内容来进行优化。
但其实,我们可以直接使用tomcat的本地connector来解决这个问题。
APR(Apache portable Run-time libraries,Apache可移植运行库)是Apache提供的一组通用的JNI接口,通过本地化的方法来提高应用与系统的交互,比如磁盘io,网络io等。主要提高web容器(Tomcat,Jboss等)对静态文件的处理性能,同时也可以提升SSL的处理性能。
安装jdk+tomcat
一、安装配置JDK
1.通过官方网站下载JDK(集合了所有版本):
http://www.oracle.com/technetwork/java/archive-139210.html
下面以 jdk1.6.0_21 64位 为例:
#chmod +x jdk-6u21-linux-x64.bin
#./jdk-6u21-linux-x64.bin
安装后在当前目录下会产生文件夹 jdk1.6.0_21
#mv jdk1.6.0_21 /usr/java/jdk
接下来编辑/etc/profile文件加入JDK环境变量,在文件末尾处加入以下内容:
#vi /etc/profile
1 | export JAVA_HOME=/usr/java/jdk |
2 | export JRE_HOME=/usr/java/jdk/jre |
3 | export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH |
4 | export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH |
#source /etc/profile //使配置文件的内容立刻生效;
# set //在这里你可以看见当前所有的环境变量;
# java –version //如果JDK配置正确的话,运行该命令将会出现JDK的相应版本;
二、安装配置Tomcat
1.通过官方网站下载Tomcat:
http://tomcat.apache.org/
下面以 tomcat 6.0.29 为例:
下载tomcat 6.0.29的软件包 apache-tomcat-6.0.29.tar.gz;
2.安装配置Tomcat
解压缩tomcat软件包
# tar -vzxf apache-tomcat-6.0.29.tar.gz
# mv apache-tomcat-6.0.29 /tomcat
修改tomcat启动脚本,加入tomcat环境变量与JDK环境变量
#vi /tomcat/bin/catalina.sh
在“OS specific support.”这一行之前增加以下配置:
1 | # Define the Tomcat Home |
2 | export CATALINA_HOME=/tomcat |
3 | # Define the JDK |
4 | export JAVA_HOME=/usr/java/jdk |
5 | export JRE_HOME=/usr/java/jdk/jre |
6 | export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH |
7 | export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH |
#/tomcat-6.0.29/bin/catalina.sh start //启动Tomcat
将显示以下信息:
Using CATALINA_BASE: /tomcat-6.0.29
Using CATALINA_HOME: /tomcat-6.0.29
Using CATALINA_TMPDIR: /tomcat-6.0.29/temp
Using JRE_HOME: /usr/java/jdk1.6.0_21/jre
在浏览器中访问http://Server主机IP:8080,即可看见Tomcat的默认页面
3 安装apr
# wget http://labs.renren.com/apache-mirror//apr/apr-1.4.6.tar.gz
# tar xzvf apr-1.4.6.tar.gz
# cd apr-1.4.6
# ./configure --prefix=/opt/tomcat-6.0.29/apr
# make
# make install
4安装apr-util
# wget http://labs.renren.com/apache-mirror//apr/apr-util-1.4.1.tar.gz
# tar xzvf apr-util-1.4.1.tar.gz
# cd apr-util-1.4.1
# ./configure --prefix=/opt/tomcat-6.0.29/apr --with-apr=/opt/tomcat-6.0.29/apr
# make
# make install
5安装tomcat-native-connector
# wget http://labs.renren.com/apache-mirror//tomcat/tomcat-connectors/native/1.1.23/source/tomcat-native-1.1.23-src.tar.gz
# tar xzvf tomcat-native-1.1.23-src.tar.gz
# cd tomcat-native-1.1.23-src/jni/native
# ./configure --prefix=/opt/tomcat-6.0.29/apr --with-apr=/opt/tomcat-6.0.29/apr --with-java-home=/usr/java/jdk1.6.0_21
# make
# make install
# vim /opt/tomcat-6.0.29/bin/catalina.sh
在“OS specific support.”这一行之前增加以下配置:
---
CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/opt/tomcat-6.0.29/apr/lib"
---
如果在log中能够看到以下类似的“Http11AprProtocol”与“AjpAprProtocol”的启动信息,则代表集成apr成功。
而此时,Tomcat对静态资源的处理能力已经得到了提升。
---
INFO: Deploying web application directory examples
Mar 28, 2012 3:40:32 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
Mar 28, 2012 3:40:32 PM org.apache.coyote.http11.Http11AprProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Mar 28, 2012 3:40:32 PM org.apache.coyote.ajp.AjpAprProtocol start
INFO: Starting Coyote AJP/1.3 on ajp-8009
Mar 28, 2012 3:40:32 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1440 ms
转载于:https://blog.51cto.com/rovkxu/962964