tomcat-apr


本文主要内容:

(1)安装apr,这是 Apache 为了提升 Tomcat 的性能搞的一套本地化 Socket, Thread, IO 组件也就是说它有

高级 IO 功能, 操作系统级别的功能调用, 以及本地进程处理等等。

(2)安装Tomcat Native,这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提

升性能。

(3)安装tomcat为系统服务

(4)优化tomcat的jvm内存池

(5)修改tomcat的并发连接数

一、安装apr

(1)安装apr

 http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz

 

# tar zxvf apr-1.4.5.tar.gz

# cd apr-1.4.5

# ./configure --prefix=/usr/local/apr

# make

# make install

(2)安装apr-iconv

 http://archive.apache.org/dist/apr/apr-iconv-1.2.1.tar.gz

 

# tar -zxvf apr-iconv-1.2.1.tar.gz

# cd apr-iconv-1.2.1

# ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr

# make

# make install

(3)安装apr-util

 http://archive.apache.org/dist/apr/apr-util-1.3.10.tar.gz

 

# tar zxvf apr-util-1.3.10.tar.gz

# cd apr-util-1.3.10

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-

iconv=/usr/local/apr-iconv/bin/apriconv

# make

# make install

二、安装tomcat和tomcat-native

(1)安装JDK

下载 jdk-7-linux-i586.rpm

http://java.sun.com/javase/downloads/index.jsp

# rpm –ivh jdk-7-linux-i586.rpm  
 
# vi ~/.bash_profile 
JAVA_HOME=/usr/java/jdk1.7.0 
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin 
export PATH CLASSPATH JAVA_HOME 

使环境变量立刻生效

# source ~/.bash_profile
# source /etc/profile

# java -version (jdk的版本为jdk1.4.2则表示jdk已成功安装)。 


(2)安装Tomcat

http://jakarta.apache.org/tomcat

 

# tar -zvf apache-tomcat-6.0.26.tar.gz -C /usr/src

# mv /usr/src/apache-tomcat-6.0.26 /usr/src/tomcat

# /usr/src/tomcat/bin/startup.sh

(3)安装tomcat-native(tomcat自带的有)

# cd /usr/local/tomcat/bin

# tar zxvf tomcat-native-1.1.20-src.tar.gz

# cd tomcat-native-1.1.20-src/jni/native

# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.7.0

# make

# make install

(4)设置 apr 的环境变量:

# vi /etc/profile

后面添加以下内容

export LD_LIBRARY_PATH=/usr/local/apr/lib

# source /etc/profile

启动 tomcat 后, 看日志:

# more /usr/src/tomcat/logs/catalina.out

Dec 5, 2009 3:25:39 PM org.apache.catalina.core.AprLifecycleListener init

INFO: Loaded APR based Apache Tomcat Native library 1.1.20.

三、tomcat添加到系统服务

# cd /usr/src/tomcat/bin/

# tar -zxvf jsvc.tar.gz                                         (jsvc也是tomcat自带的)

# cd jsvc-src

# chmod a+x configure

# ./configure --with-java=/usr/local/java

# make

# cp /usr/src/tomcat/bin/jsvc-src/native/Tomcat5.sh /etc/rc.d/init.d/tomcat

# vi /etc/rc.d/init.d/tomcat

在#!bin/sh下添加

#chkconfig: 2345 85 15

#description: apache-tomcat.6

相应的内容修改为如下内容:

JAVA_HOME=/usr/java/jdk1.7.0

CATALINA_HOME=/usr/src/tomcat

DAEMON_HOME=/usr/src/tomcat/bin

TOMCAT_USER=tomcat

CATALINA_BASE=/usr/src/tomcat

CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"

$DAEMON_HOME/jsvc-src/jsvc #有两处

:wq

 

添加执行用户tomcat

# groupadd tomcat

# useradd -g tomcat -s /sbin/nologin -M tomcat

系统重启后自动启动Tomcat:

[root@tpwb ~]# vi /etc/rc.d/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

export JDK_HOME=/usr/java/jdk1.7.0
export JAVA_HOME=/usr/java/jdk1.7.0
/usr/src/tomcat/bin/catalina.sh start

:wq

四、修改Java虚拟机的虚拟内存

(1)添加tomcat管理员

# vi /usr/src/tomcat/conf/tomcat-users.xml

在 中间添加

 

其中username="tomcat"为用户名password="lin31415926"为密码

(2)修改Java虚拟机的虚拟内存

tomcat默认的JVM比较小

查看JVM

打开http://ip:8080/

点击"status",查看JVM选项

Free memory: 3.25 MB Total memory: 7.62 MB Max memory: 121.81 MB

# vi /etc/init.d/tomcat

在CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"下方添加一句

JAVA_OPTS="-Xms1024m -Xmx1024m -Xmn256m -Djava.awt.headless=true"

在$CATALINA_OPTS \上面添加一句

$JAVA_OPTS \

重启一下tomcat,然后再次查看JVM

Free memory: 953.12 MB Total memory: 998.43 MB Max memory: 998.43 MB

五、修改tomcat并发连接数

tomcat6.0 默认并发数为200,查看方法和JVM一样,查看http-8080选项

Max threads: 200

# vi /usr/src/tomcat/conf/server.xml

修改前:


redirectPort="8443"

connectionTimeout="20000"

/>

修改后:


maxHttpHeaderSize="8192" useBodyEncodingForURI="true"

maxThreads="1000"

redirectPort="8443"

enableLookups="false"

compression="on"

compressionMinSize="2048"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"

connectionTimeout="20000"

disableUploadTimeout="true"

/>


重启tomcat后再次查看

Max threads: 1000