在linux环境下部署tomcat应用+配置优化

来源:互联网 发布:网易跟帖知乎 编辑:程序博客网 时间:2024/05/16 17:03

配置linux下的tomcat
一、jdk的安装
1.以root身份等陆 
2.打开一个终端 
3.输入命令ls -l查看安装的文件的权限 
#cd /home 
#cp jdk1.4.2.rpm.bin /usr/local 
#cd /usr/local 
给所有的用户添加可执行的权限 
#chmod a+x jdk1.4.2.rpm.bin 
#./jdk1.4.2.rpm.bin 
会生成文件jdk1.4.2.rpm 
同样给所有的用户添加可执行权 
chmod a+x jdk1.4.2.rpm 
安装程序 rpm -ivh jdk1.4.2.rpm 
接受协议,按enter即可 
使用默认的安装目录,在 /usr/java/下

二、安装tomcat

tar –xvzf jakarta-tomcat-5.5.9.tar.gz

mv jakarta-tomcat-5.5.9 tomcat5.9

完成后,会在/usr/tomcat出现tomcat5.9目录,里边就是tomcat的文件。

三、配置环境变量
vi .bash_profile

加入如下内容:
JAVA_HOME=/usr/java/jdk1.5.0_04

export JAVA_HOME

CATALINA_HOME=/yewu/tomcat/tomcat5.9

export CATALINA_HOME

CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/common/lib

export CLASSPATH

PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

export PATH

保存退出。
四、配置启动tomcat
1、手动启动,将这个文件放在根/bin下,名称为100class
#!/bin/sh
CATALINA_HOME=/usr/tomcat/tomcat-5.0.28
export CATALINA_HOME

$CATALINA_HOME/bin/startup.sh
#case "$1" in
#start)
$CATALINA_HOME/bin/startup.sh
;;
#stop)
$CATALINA_HOME/bin/shutdown.sh
;;
#esac
2、自动启动,将这个文件放在/etc/init.d下,名称为100classServer
#!/bin/sh

case "$1" in
start)
 CATALINA_HOME=/usr/tomcat/tomcat-5.0.28
 export CATALINA_HOME
 JAVA_HOME=/usr/java/jdk1.5.0_12
 export JAVA_HOME
 echo $JAVA_HOME
 PATH=$JAVA_HOME/bin:$PATH
 cd $CATALINA_HOME/bin
 $CATALINA_HOME/bin/startup.sh
 cd -
 ;;
stop)
 CATALINA_HOME=/usr/tomcat/tomcat-5.0.28
 export CATALINA_HOME
 JAVA_HOME=/usr/java/jdk1.5.0_12
 export JAVA_HOME
 echo $JAVA_HOME
 PATH=$JAVA_HOME/bin:$PATH
 echo $PATH
 $CATALINA_HOME/bin/shutdown.sh
 ;;
*)
 echo "Usage: 100classServer {start|stop}"
 exit 1
esac

exit 0
说明:要在etc/rc2.d等目录,从rc1~6下加入S99100class的链接,系统在启动时,自动加载tomcat服务

3、拷贝%JAVA_HOME%/lib/tools.jar拷贝到�TALINA_HOME%/common/lib下,可选择
4、在tomcat-users.xml下增加用户名称100class密码100class,加入相应的角色

可通过如下方法解决:
在tomcat安装目录的conf文件夹里找到tomcat-users.xml
内容修改为以下:
<?xml version='1.0'encoding='utf-8'?>
<tomcat-users>
  <rolerolename="tomcat"/>
  <rolerolename="role1"/>
  <rolerolename="manager"/>
  <rolerolename="admin"/>
  <user username="tomcat"password="tomcat" roles="tomcat"/>
  <user username="both"password="tomcat" roles="tomcat,role1"/>
  <user username="role1"password="tomcat" roles="role1"/>
  <user username="admin"password="admin" roles="admin,manager"/>
</tomcat-users>
5、修改tomcat的默认路径
     <Host debug="0" appBase="webapps"
      unpackWARs="true"
      xmlValidation="false"xmlNamespaceAware="false">
下面加入:
<Context path="" docBase="baiying" debug="0"reloadable="true" />
5、调用htt://localhost:8080/manager,部署war文件
6、系统自动启动Tomcat服务
在Linux下,Tomcat可以作为一个守护进程来启动以及停止,这个必须借助于项目commons-daemon中的jsvc工具。Tomcat安装完后就带有这个工具的源码{tomcat}/bin/jsvc.tar.gz。按照下列命令安装这个工具:
解压: tar zxvf jsvc.tar.gz
配置: cd jsvc-src
       chmod +x configure
      ./configure --with-java=/usr/jdk
编译: make
检验: ./jsvc -help
#!/bin/sh 

# Startup Script for Tomcat5 

# chkconfig: 345 87 13 
# description: Tomcat Daemon 
# processname: jsvc 
# pidfile: /var/run/jsvc.pid 
# config: 

# Source function library.
. /etc/rc.d/init.d/functions 

prog=tomcat 

# Small shell script to show how to start/stop Tomcat usingjsvc 
# If you want to have Tomcat running on port 80 please modify theserver.xml 
# file: 

# <!-- Define a non-SSL HTTP/1.1 Connector on port80 --> 
# <ConnectorclassName="org.apache.catalina.connector.http.HttpConnector" 
# port="80" minProcessors="5"maxProcessors="75" 
# enableLookups="true"redirectPort="8443" 
# acceptCount="10" debug="0"connectionTimeout="60000"/> 

# You need a developement version of Tomcat (ApacheTomcat/4.1-dev) 

# Adapt the following lines to your configuration
JAVA_HOME=/usr/jdk1.5.0 
CATALINA_HOME=/apache/tomcat
DAEMON_HOME=$CATALINA_HOME/bin/jsvc-src 
TOMCAT_USER=root
TMP_DIR=/var/tmp 
CATALINA_OPTS= 
CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar
start(){ 
echo -n $"Starting $prog: " 
    #
    # StartTomcat
    #
   $DAEMON_HOME/jsvc \
    -user$TOMCAT_USER \
    -home$JAVA_HOME \
   -Dcatalina.home=$CATALINA_HOME \
   -Djava.io.tmpdir=$TMP_DIR \
    -outfile$CATALINA_HOME/logs/catalina.out \
    -errfile'&1' \
   $CATALINA_OPTS \
    -cp$CLASSPATH \
   org.apache.catalina.startup.Bootstrap
    #
    # To get averbose JVM
    #-verbose\
    # To get adebug of jsvc.
    #-debug\
   RETVAL=$? 
    [ $RETVAL =0 ] && touch/var/lock/subsys/jsvc 
    [ $RETVAL =0 ] && echo_success ||echo_failure 
   echo 
    return$RETVAL 

stop(){ 
    echo -n$"Stopping $prog: " 
   
    # StopTomcat 
   
    PID=`cat/var/run/jsvc.pid` 
    kill$PID 
   RETVAL=$? 
    [ $RETVAL =0 ] && rm/var/lock/subsys/jsvc 
    [ $RETVAL =0 ] && echo_success ||echo_failure 
   echo 
    return$RETVAL 
}
/etc/rc.d/init.d/tomcat start|stop
来验证守护进程是否可以正常启动和停止。
接下来就是把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:
chkconfig --add tomcat
重新启动系统后可以启动的过程中看到Starting Tomcat ..... [OK]的信息,这样就完成设置过程。


附:vi编辑器的操作

打开文件:vi 文件名

从命令模式切换到输入模式:i

输入模式切换到命令模式:ESC

末行模式::

保存::w

保存退出::wq

不保存强制退出::q!

保存强制退出::wq!

光标移动到文件首:[[

光标移动到文件尾:]]

下翻页:ctrl+f

上翻页:ctrl+b


优化:Tomcat 5常用优化和配置 

========================================================================
1、JDK内存优化: 
Tomcat默认能够使用的内存为128MB,Windows下,在文档{tomcat_home}/bin/catalina.bat,Unix下,在文档{tomcat_home}/bin/catalina.sh的前面,增加如下配置: 
JAVA_OPTS='-Xms[初始化内存大小] -Xmx[能够使用的最大内存] 
一般说来,您应该使用物理内存的 80% 作为堆大小。 
2、连接器优化: 
在tomcat配置文档server.xml中的配置中,和连接数相关的参数有: 
maxThreads: 
Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。 
acceptCount: 
指定当任何能够使用的处理请求的线程数都被使用时,能够放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。 
minSpareThreads: 
Tomcat初始化时创建的线程数。默认值4。 
maxSpareThreads: 
一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。 
enableLookups: 
是否反查域名,默认值为true。为了提高处理能力,应配置为false 
connnectionTimeout: 
网络连接超时,默认值60000,单位:毫秒。配置为0表示永不超时,这样配置有隐患的。通常可配置为30000毫秒。 
maxKeepAliveRequests: 
保持请求数量,默认值100。 
bufferSize: 
输入流缓冲大小,默认值2048 bytes。 
compression: 
压缩传输,取值on/off/force,默认值off。 
其中和最大连接数相关的参数为maxThreads和acceptCount。假如要加大并发连接数,应同时加大这两个参数。webserver允许的最大连接数还受制于操作系统的内核参数配置,通常Windows是2000个左右,Linux是1000个左右。 
3、tomcat中如何禁止和允许列目录下的文档 
在{tomcat_home}/conf/web.xml中,把listings参数配置成false即可,如下: 
<servlet> 
... 
<init-param> 
<param-name>listings</param-name> 
<param-value>false</param-value> 
</init-param> 
...
</servlet> 
4、tomcat中如何禁止和允许主机或IP地址访问 
<Host ...> 
  ... 
  <ValveclassName="org.apache.catalina.valves.RemoteHostValve" 
        allow="*.mycompany.com,www.yourcompany.com"/> 
  <ValveclassName="org.apache.catalina.valves.RemoteAddrValve" 
        deny="192.168.1.*"/> 
  ... 
</Host> 
这是我们服务器的配置,具体文档不能给您,因为涉及到公司机密,所以那一行我给您,我拷贝下来了 
JAVA_OPTS='-server -Xms512m -Xmx768m -XX:NewSize=128m-XX:MaxNewSize=192m -XX:SurvivorRatio=8'

原创粉丝点击