安装和启动tomcat

启动tomcat
存在问题:
The file is absent or does not have execute permission
[root@localhost bin]# chmod +x *.sh


启动方法
[root@localhost bin]# sh startup.sh 
Using CATALINA_BASE:   /home/weblogic/app/tomcats/tomcat7_1
Using CATALINA_HOME:   /home/weblogic/app/tomcats/tomcat7_1
Using CATALINA_TMPDIR: /home/weblogic/app/tomcats/tomcat7_1/temp
Using JRE_HOME:        /usr/app/jdk/jdk1.6.0_45
Using CLASSPATH:       /home/weblogic/app/tomcats/tomcat7_1/bin/bootstrap.jar:/home/weblogic/app/tomcats/tomcat7_1/bin/tomcat-juli.jar


自启动1(不推荐)
linux 下tomcat开机自启动
修改Tomcat/bin/startup.sh 为:
export JAVA_HOME=/usr/app/jdk/jdk1.6.0_45
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/home/weblogic/app/tomcats/tomcat7_1
/home/weblogic/app/tomcats/tomcat7_1/bin/catalina.sh start

在/etc/rc.d/rc.local中加入:
/usr/local/tomcat/bin/startup.sh
自启动2(推荐)
1、把下面的代码保存为tomcat文件,并让它成为可执行文件,注意更改脚本中CATALINA_HOME
chmod 755 tomcat

#!/bin/bash
#
# kenny [email protected]
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
#
# processname: tomcat
# description: tomcat is a j2se server
# chkconfig: 2345 86 16
# description:  Start up the Tomcat servlet engine.

if [ -f /etc/init.d/functions ]; then
        . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
        . /etc/rc.d/init.d/functions
else
        echo -e "/atomcat: unable to locate functions lib. Cannot continue."
        exit -1
fi

RETVAL=$?
CATALINA_HOME="/home/weblogic/app/tomcats/tomcat7_1"

case "$1" in
start)
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
            echo $"Starting Tomcat"
            $CATALINA_HOME/bin/startup.sh
        fi
        ;;
stop)
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
            echo $"Stopping Tomcat"
            $CATALINA_HOME/bin/shutdown.sh
        fi
        ;;
*)
        echo $"Usage: $0 {start|stop}"
        exit 1
        ;;
esac

exit $RETVAL


2、将tomcat文件拷贝到/etc/init.d/下,并运行:chkconfig --add tomcat

3、在tomcat/bin/catalina.sh文件中加入以下语句:
export JAVA_HOME=/YOURPATH/tomcat/jdk
export CATALINA_HOME=/YOURPATH/tomcat
export CATALINA_BASE=/YOURPATH/tomcat
export CATALINA_TMPDIR=/YOURPATH/tomcat/temp


启动tomcat: service tomcat start
停止tomcat:  service tomcat stop      

配置:
基本参数设置:server.xml
   <Connector port="8080" 
     protocol="HTTP/1.1" 
     redirectPort="8443" 
     connectionTimeout="30000" 
     keepAliveTimeout="15000"
     enableLookups="false"
     URIEncoding="UTF-8"
     maxHttpHeaderSize="32768"
     maxThreads="300"
     acceptCount="200"
   />

1. connectionTimeout:连接失效时间,单位为毫秒、默认为60s、这里设置为30s,如果用户请求在30s内未能进入请求队列,视为本次连接失败。
2. keepAliveTimeout:连接的存活时间,默认和connectionTimeout一致,这里可以设为15s、这意味着15s之后本次连接关闭. 如果页面需要加载大量图片、js等静态资源,需要将参数适当调大一点、以免多次创建TCP连接。
3. enableLookups:是否对连接到服务器的远程机器查询其DNS主机名,一般情况下这并不必要,因此设为false即可。
4. URIEncoding:设置URL参数的编码格式为UTF-8编码,默认为ISO-8859-1编码。
5. maxHttpHeaderSize:设置HTTP请求、响应的头部内容大小,默认为8192字节(8k),此处设置为32768字节(32k)、和Nginx的设置保持一致。
6. maxThreads:最大线程数、用于处理用户请求的线程数目,默认为200、此处设置为300
7. acceptCount:用户请求等候队列的大小,默认为100、此处设置为200
线程池技术
默认情况下,Tomcat针对每个用户请求都单独创建一个线程,用户请求处理完成后又将线程立即销毁掉,在并发访问量很高的情况下,线程的创建和销毁会带来比较大的系统开销。因此有必要使用Tomcat提供的线程池功能,下面是设置Tomcat线程池的示例:
1. 修改连接器的设置:指定executor的name为线程池的名字、同时去掉最大线程数maxThreads的设置。
  <Connector executor="tomcatThreadPool"
    port="8080" 
    protocol="HTTP/1.1" 
    redirectPort="8443" 
    connectionTimeout="30000" 
    keepAliveTimeout="15000"
    enableLookups="false"
    URIEncoding="UTF-8"
    maxHttpHeaderSize="32768"
    acceptCount="200"
  />

2. 线程池参数的设置:
  <Executor name="tomcatThreadPool" 
    namePrefix="catalina-exec-" 
    maxThreads="300"
    minSpareThreads="50"
    maxIdleTime = "15000"
  />

说明:
1. 通过namePrefix属性指定用户线程的命名前缀为“catalina-exec-”。
2. maxThreads为最大线程数,minSpareThreads为最小空闲线程数,maxIdleTime为最大空闲时间、单位为毫秒。

tomcat-users.xml
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui" />
<user username="frank" password="frank" roles="manager"/>

猜你喜欢

转载自a387776286.iteye.com/blog/2101962