Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
本文主要内容:
(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
# tar zxvf apr-1.4.2.tar.gz
# cd apr-1.4.2
# ./configure --prefix=/usr/local/www/apr
# make
# make install
(2)安装apr-iconv
# tar -zxvf apr-iconv-1.2.1.tar.gz
# cd apr-iconv-1.2.1
# ./configure --prefix=/usr/local/www/apr-iconv --with-apr=/usr/local/www/apr
# make
# make install
(3)安装apr-util
# tar zxvf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --prefix=/usr/local/www/apr-util --with-apr=/usr/local/www/apr --with-apr-iconv=/usr/local/www/apr-iconv/bin/apriconv
# make
# make install
二、安装tomcat和tomcat-native
(1)JDK安装
# chmod a+x jdk-6u18-linux-i586-rpm.bin
# ./jdk-6u7-linux-i586-rpm.bin
# ln -s /usr/java/jdk1.6.0_18 /usr/local/java
设置环境变量
# vi /etc/profile
末尾增加如下内容
JAVA_HOME=/usr/local/java
CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar
PATH=/usr/local/java/bin:$PATH
export PATH JAVA_HOME CLASSPATH
# source /etc/profile
# java �Cversion
查看java版本,如果是1.6的,就是说明安装成功了。
(2)安装Tomcat
# tar -zxvf apache-tomcat-6.0.26.tar.gz
# mv apache-tomcat-6.0.26 /usr/local/www/tomcat
# vi /usr/local/www/tomcat/bin/catalina.sh
加入一行:
JAVA_HOME=/usr/local/java
# /usr/local/www/tomcat/bin/startup.sh
(3)安装tomcat-native
# cp tomcat-native-1.1.20-src.tar.gz /usr/local/www/tomcat/bin/
# cd /usr/local/www/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/www/apr --with-java-home=/usr/local/java
# make
# make install
(4)设置 apr 的环境变量:
# vi /etc/profile
后面添加以下内容
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
# source /etc/profile
启动 tomcat 后, 看日志:
# more /usr/local/www/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/local/www/tomcat/bin/
# tar -zxvf jsvc.tar.gz
# cd jsvc-src
# chmod a+x configure
# ./configure --with-java=/usr/local/java
# make
# cp /usr/local/www/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/local/java
CATALINA_HOME=/usr/local/www/tomcat
DAEMON_HOME=/usr/local/www/tomcat/bin
TOMCAT_USER=tomcat
CATALINA_BASE=/usr/local/www/tomcat
CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
$DAEMON_HOME/jsvc-src/jsvc #有两处
添加执行用户tomcat
# groupadd tomcat
# useradd -g tomcat -s /sbin/nologin -M tomcat
加入系统服务,开机自启动
# chown -R tomcat.tomcat /usr/local/www/tomcat
# chmod a+x /etc/rc.d/init.d/tomcat
# chkconfig --add tomcat
# chkconfig tomcat on
四、修改Java虚拟机的虚拟内存
(1)添加tomcat管理员
# vi /usr/local/www/tomcat/conf/tomcat-users.xml
在<tomcat-users> </tomcat-users>中间添加
<role rolename="manager"/>
<user username="tomcat" password="lin31415926" roles="manager"/>
其中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/local/www/tomcat/conf/server.xml
修改前:
<Connector port="8080" protocol="HTTP/1.1"
redirectPort="8443"
connectionTimeout="20000"
/>
修改后:
<Connector port="8080" protocol="HTTP/1.1"
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"
/>
<!--
port:Tomcat服务器监听的端口号
maxHttpHeaderSize:Http的Header的最大限制
enableLookups="false" 使用允许DNS查询,通常情况下设置为false
redirectPort 服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
maxThreads Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connectionTimeout 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
minSpareThreads Tomcat初始化时创建的线程数。
maxSpareThreads 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
compression="on" 打开压缩功能
compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB
compressableMimeType压缩类型
-->
重启tomcat后再次查看
Max threads: 1000
如需转载请注明:转载自: 风往北吹的IT博客 [ http://blog.yahunet.com/]
本文链接地址:http://blog.yahunet.com/post-60.html
相关文章
- 转:linux下bwa和samtools的安装与使用
- Linux的安装配置及常用命令(一)
- 在LINUX下ORACLE11.2.04的安装脚本及静默安装
- Linux下 卸载通过WINE安装的程序并且卸载source insight
- VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题
- 基于Linux系统下Apache服务器的安装部署
- SUSE下FTP的安装及启动相关设置
- 关于linux下安装oracle之后,重启系统后oracle不能正常启动的配置总结
- linux下依赖库的版本问题引起的安装失败:libssl-dev版本问题无法安装 :libssl-dev : 依赖: libssl1.0.0 (= 1.0.1-4ubuntu3) 但是 1.0.1-4ubuntu5.31 正要被安装
- sqlite3在Linux下的安装和使用