一、centos

1.

# wget  

# tar xvf  apache-tomcat-6.0.36.tar.gz

#ln -s apache-tomcat-6.0.36 tomcat

# vi .bash_profile

export JAVA_HOME=/home/dodowolf/jdk1.6

export TOMCAT_HOME=/home/dodowolf/tomcat

export CATALINA_HOME=$TOMCAT_HOME

export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH:/sbin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#source  .bash_profile

#catalina.sh version            --查看版本

#catalina.sh start

#catalina.sh stop

2.

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

~~~~~~

#!/bin/sh

JAVA_HOME=/home/dodowolf/jdk1.6

CATALINA_HOME=/home/dodowolf/tomcat

export JAVA_HOME CATALINA_HOME

case $1 in

start)

  exec $CATALINA_HOME/bin/catalina.sh start ;;

stop)

  exec $CATALINA_HOME/bin/catalina.sh stop;;

restart)

  $CATALINA_HOME/bin/catalina.sh stop

  sleep 2

  exec $CATALINA_HOME/bin/catalina.sh start ;;

*)

  echo "Usage: `basename $0` {start|stop|restart}"

  exit 1

  ;;

esac

~~~~~~

#chmod  +x /etc/rc.d/init.d/tomcat

#service tomcat  start

#service tomcat  stop

#chkconfig --level 2345 tomcat on

#chkconfig  --list  tomcat

#catalina.sh --help

~~~~~~~~~~~~~~~

如果一台服务器上想要安装多台的话修改端口号:  $TOMCAT_HOME/conf/server.xml   8005  8080 8009

~~~~~~~~~~~~~~~~~~~~~~~~~~

创建虚拟主机:

#cd /root/tomcat/conf

#vi server.xml

     <Host name="www.dodowolf.com" appBase="/web/dodowolf" 

          unpackWARS="true" autoDeploy="true">

         <Context path="" docBase="ROOT"  reloadable="true"  />

         <Valve className="org.apache.catalina.valves.AccessLogValve"  directory="logs"

              prefix="dodowolf_access_log."  suffix=".txt"

              pattern="%h %l %u %t &quot;%r&quot; %s %b" />

     </Host>

#mkdir -p  /web/dodowolf/ROOT

#cd   /web/dodowolf/ROOT

#vi index.jsp

<%@ page language="java" %>

<%@ page import="java.util.*" %>

<html>

  <head>

    <title>JSP test page.</title>

  </head>

  <body>

    <% out.println("Hello,world!"); %>

  </body>

</html>

保存退出;

重启tomcat

访问:www.dodowolf.com:8080   会看到测试页面内容  hello world!


启用status,manager功能

访问:  "tomcat manager" 

      点击这两个都会有提示输入用户名写密码,如果点取消,则会提示操作步骤


TOMCAT 配置文件:

1.server.xml: 主配置文件之一,包含了诸多的重要配置,如IP地址、端口、虚拟主机、context路径等;

2.tomcat-users.xml: 基于角色实现的认证及授权相关的文件;

3.logging.properties: Tomcat实例的日志相关的定义;

4.web.xml:定义tomcat实例启动时为所有装载至当前实例中的webapp定义的默认属性值,通常用于为webapp提供基本的servlet定义和MIME映射表等;当然,某webapp也可以定义自己的属性来替代这里的默认值;

5.context.xml:  为部署于此Tomcat实例上的所有web应用程序提供的默认配置文件; 每个webapp都可以使用独有的context.xml,通常放置于webapp

目录的META-INF子目录中; 常用于定义会话管理器、Realm以及JDBC等;

6.catalina.policy: 当基于 -security选项启动tomcat实例时会读取此配置文件;此文件为Tomcat的安全策略配置文件,用于JVM强制将安全策略施加于Webapp;

7.catalina.properties: java 属性定义文件,设定类加载器路径、安全包列表和一些调整性能的参数信息;Tomcat启动时会扫描此文件,它包括共享的server、shared loader及JAR等;


Tomcat 优化

1.JVM 调优

在TOMCAT_HOME/bin/catalina.sh 增加如下语句,具体数值视情况而定。

JAVA_OPTS="-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=64m -XX:MaxPermSize=128m"

参数详解

-Xms JVM初始化堆内存大小

-Xmx JVM堆的最大内存

-Xss 线程栈大小

-XX:PermSize JVM非堆区初始内存分配大小

-XX:MaxPermSize JVM非堆区最大内存

建议和注意事项:

-Xms和-Xmx选项设置为相同堆内存分配,以避免在每次GC 后调整堆的大小,堆内存建议占内存的60%~80%;非堆内存是不可回收内存,大小视项目而定;线程栈大小推荐256k.

2.关闭DNS反向查询

在Connector中加入如下参数

enableLookups="false"

3.使用APR

tomcat 常用运行模式有3种,分别为 bio,nio,apr.生产环境建议用apr,从操作系统级别来解决异步的IO问题,大幅度的提高性能.

安装APR

yum -y install  apr apr-devel

tar zxvf tomcat-native.tar.gz //该文件在tomcat的bin目录下面

cd tomcat-native-1.1.27-src/jni/native

./configure  --with-apr=/usr/bin/apr-1-config

make

makeinstall

安装完成之后 会出现如下提示信息

Libraries have been installed in:

/usr/local/apr/lib

安装成功后还需要对tomcat设置环境变量,方法是在catalina.sh文件中增加一 行:

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

修改8080端对应的

protocol="org.apache.coyote.http11.Http11AprProtocol"

启动tomcat之后,查看日志

more TOMCAT_HOME/logs/catalina.out

六月 29, 2013 11:55:35 上午 org.apache.catalina.core.AprLifecycleListener init

INFO: Loaded APR based Apache Tomcat Native library 1.1.27 using APR version 1.3.9.

六月 29, 2013 11:55:35 上午 org.apache.catalina.core.AprLifecycleListener init

INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].

4.优化tomcat参数

<Connector port="8080"

protocol="org.apache.coyote.http11.Http11AprProtocol"

connectionTimeout="20000"//链接超时时长

redirectPort="8443"

maxThreads="500"//设定处理客户请求的线程的最大数目,决定了服务器可以同时响应客户请求的数,默认200

minSpareThreads="20"//初始化线程数,最小空闲线程数,默认为10

acceptCount="1000"//当所有可以使用的处理请求的线程数都被使用时,可以被放到处理队列中请求数,请求数超过这个数的请求将不予处理,默认100

enableLookups="false"

URIEncoding="UTF-8"/>

5.优化网络参数

修改/etc/sysctl.cnf文件,增加如下内容

net.core.netdev_max_backlog = 32768

net.core.somaxconn = 32768

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.ip_local_port_range = 1024 65000

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_mem = 94500000 915000000 927000000

net.ipv4.tcp_max_orphans = 3276800

net.ipv4.tcp_max_syn_backlog = 65536

保存退出,执行sysctl -p生效

------------------------------------------------------------------------------

二、win2k3 32位 操作系统

  1. 下载JDK

  http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u37-oth-JPR

 Windows x86 69.72 MB   115899.gif jdk-6u37-windows-i586.exe

2.双击安装-->设置路径

右键“我的电脑”-->属性-->高级-->环境变量   创建变量名 JAVA_HOME  value  安装路径

  创建 CLASSPATH   %JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

   在下面的系统变量中, 修改Path   加入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

3.TOMCAT

/apache-tomcat-6.0.37-windows-x86.zip

 解压

按第二步设置环境变量,新建变量名 TOMCAT_HOME CATALINA_HOME  CATALINA_BASE  对应的value都设置为tomcat的路径即可

双击 startup.bat 启动