方法一

首先下载jdk环境包
给予权限chmod +x jdk-6u23-linux-i586.bin
安装支持插件yum install glibc.i686
./jdk-6u23-linux-i586.bin开始解压
解压后进入目录
编辑/etc/profiile系统启动文件,写入jdk执行路径
JAVA_HOME=/usr/local/jdk1.6.0_23/
JAVA_BIN=/usr/local/jdk1.6.0_23/bin
JAVA_HOME=/usr/local/jdk1.6.0_23/jre
PATH=$PATH:/usr/local/jdk1.6.0_23/bin:/usr/local/jdk1.6.0_23/jre/bin
CLASSPAT=/usr/local/jdk1.6.0_23/jre/lib:/usr/local/jdk1.6.0_23/lib:/usr/local/jdk1.6.0_23/jre/lib/charsets.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH
进入解压后的jdk目录
cd /usr/local/jdk1.6.0_23
执行java -version

下载tomcat
解压tomcat
tar zxf apache-tomcat-8.0.27.tar.gz -C .
mv apache-tomcat-7.0.14 /usr/local/tomcat
cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
在启动脚本中加入
vim /etc/init.d/tomcat
#chkconfig:112 63 37
#description: tomcat setver init script
#Source Function Library
./etc/init.d/functions
JAVA_HOME=/usr/local/jdk1.6.0_23/
CATALINA_HOME=/usr/local/tomcat

给予权限操作
chmod 755 /etc/init.d/tomcat
chkconfig -add tomcat
chkconfig tomcat on
service tomcat start
ps -aux |grep tomcat
在浏览器中输入http://ip:8080,即可看到tomcat默认页面

tomcat会有时和jdk版本不兼容的情况


方法二

一,在tomcat的官方http://tomcat.apache.org/下载tomcat相应的版本,本文下载的版本是apache-tomcat-6.0.18.tar.gz,然后上传至/usr/local/src目录
[root@host1 ~]# cd /usr/local/src
[root@host1 src]# tar -zxvf apache-tomcat-6.0.18.tar.gz  
[root@host1 src]#mv apache-tomcat-6.0.18 /usr/local/tomcat

二,修改tomcat启动脚本,并加入sysv服务
[root@host1 src]#cp –p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
[root@host1 src]#vim  /etc/init.d/tomcat
在第二行加入以下内容
# chkconfig: 2345 63 37
# description: tomcat server init script
JAVA_HOME=/opt/jdk1.6.0_15/
CATALINA_HOME=/usr/local/tomcat
[root@host1 src]# chkconfig --add tomcat
[root@host1 src]#chkconfig tomcat on

三,加入内存控制的优化参数
[root@host1 src]#vim  /etc/init.d/tomcat
搜索关键字$have_tty -eq 1,在if [ $have_tty -eq 1 ]; then行下增加:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

四,启动并测试
[root@host1 src]# service tomcat start
[root@host1 src]#ps aux|grep tomcat
通过浏览器访问http://ip:8080/出现tomcat的主页面就安装成功了



tomcat日志分割
随着Tomcat的运行,catalina.out文件会越来越大,虽然Tomcat每日会生成一个catalina.ymd.log的文件,但 catalina.out主文件仍然不断增加,需要对catalina.out按日切分才好,在网上找了一下,看到一篇《rotating catalina.out in tomcat 5.5 using cronolog》,就用公司的Tomcat配置一下。

cronolog工具已经在服务器上装过,一个对日志切分的小工具,其主页在http://cronolog.org/,我们也用它来切分Apache的日志。

进入Tomcat的bin目录,打开catalina.sh文件,找到tomcat启动的相关行,或者你直接查找catalina.out,一般我们修改下面行中的内容(因为我们一般不会在-security条件下运行),

else
    “$_RUNJAVA” $JAVA_OPTS $CATALINA_OPTS \
    -Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -classpath “$CLASSPATH” \
    -Dcatalina.base=”$CATALINA_BASE” \
    -Dcatalina.home=”$CATALINA_HOME” \
    -Djava.io.tmpdir=”$CATALINA_TMPDIR” \
    org.apache.catalina.startup.Bootstrap “$@” start  \
    >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

    if [ ! -z "$CATALINA_PID" ]; then
    echo $! > $CATALINA_PID
    fi
    fi

修改
org.apache.catalina.startup.Bootstrap “$@” start  \
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \
| /usr/local/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null &
同时,上面有一行
touch “$CATALINA_BASE”/logs/catalina.out
可以注释掉,完成之后重起Tomcat就可以了,在logs目录下可以看到catalina.2010-12-14.out的日志,是按日生成的



去除不必要的日志
在tomcat的安装目录logs下,会有manager,catalina,localhost,host-manager开头的日志文件,每天都生成 一个,很讨厌的,如果不想要这些日志,可以这样处理,编辑tomcat安装目录下的conf下的logging.properties文件,把含有 manager,catalina,localhost,host-manager等字眼的行注释掉就ok了,不过建议catalina的不要注释,这个 文件很有用途!




tomcat JNDI配置实例
<Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       <Context path="/" docBase="./" debug="1" reloadable="true">
       <Resource name="jndi-test" auth="Container"
        type="javax.sql.DataSource"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbcracle:thin192.168.1.210:1521:database" username="username"
        password="password" maxActive="100" maxIdle="10" maxWait="600" />    </Context>
        <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" directory="logs" prefix="localhost_access." suffix=".log"
        pattern="combined" resolveHosts="false"/>
      </Host>




tomcat虚拟主机配置
<Host name="www.cmdi.com"  appBase="/data/www/wwwroot/www.cmdi.com"
     unpackWARs="false" autoDeploy="true"
     xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="./" debug="0" reloadable="true" crossContext="true"/>
</Host>
以上的内容就是在linux系统中创建/data/www/wwwroot/www.cmdi.com文件夹作为www.cmdi.com这个域名的主目录,如果想配置这个域名的访问日志,如下:

    <Host name="www.cmdi.com"  appBase="/data/www/wwwroot/www.cmdi.com"
     unpackWARs="false" autoDeploy="true"
     xmlValidation="false" xmlNamespaceAware="false">
     <Context path="" docBase="./" debug="0" reloadable="true" crossContext="true"/>  
    <Logger className="org.apache.catalina.logger.FileLogger" directory="/data/www/logs" prefix="www_cmdi_com_access." suffix=".log" pattern="combined"  timestamp="true"/>   
   </Host>






管理

回复编辑支持 反对


tomcat启动时的优化参数

编译tomcat安装目录下的bin/catalina.sh文件,增加一句:JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

具体做法,打开catalina.sh,搜索关键字$have_tty -eq 1,在if [ $have_tty -eq 1 ]; then行下增加:
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

修改后如下:
if [ $have_tty -eq 1 ]; then
  JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
  echo "Using CATALINA_BASE:   $CATALINA_BASE"
  echo "Using CATALINA_HOME:   $CATALINA_HOME"
  echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
  if [ "$1" = "debug" ] ; then
    echo "Using JAVA_HOME:       $JAVA_HOME"
  else
    echo "Using JRE_HOME:        $JRE_HOME"
  fi
  echo "Using CLASSPATH:       $CLASSPATH"
fi




配置tomcat的access.log访问日志记录内容
编译server.xml文件,在
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
下追加如下信息:     
   <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
               prefix="localhost_access." suffix=".log" pattern="combined" resolveHosts="false"/>