pony

抄袭是一种美德

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

http://blog.csdn.net/gaoligaoli/archive/2007/06/10/1646877.aspx

配置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拷贝到%CATALINA_HOME%/common/lib下,可选择
4、在tomcat-users.xml下增加用户名称100class密码100class,加入相应的角色

可通过如下方法解决:
在tomcat安装目录的conf文件夹里找到tomcat-users.xml
内容修改为以下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="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 name="localhost" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="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
jsvc工具本身带了一个脚本(在native目录下)用来启动和停止Tomcat守护进程,但是在试验中发现该脚本无法设置为自动启动,显示的错误信息是:tomcat 服务不支持 chkconfig,因此修改了此脚本
程序代码:  
#!/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 using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
# <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
# <Connector className="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 (Apache Tomcat/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: "
    #
    # Start Tomcat
    #
    $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 a verbose JVM
    #-verbose \
    # To get a debug 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: "
    #
    # Stop Tomcat
    #
    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
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo "Usage $0 start/stop"
exit 1;;
esac

修改下载的脚本里面有关路径的信息以及要启动Tomcat的用户(用户必须已存在)
拷贝脚本到/etc/rc.d/init.d目录下的tomcat文件,给该脚本赋予可执行权限
chmod +x tomcat
你可以使用命令
/etc/rc.d/init.d/tomcat start|stop
来验证守护进程是否可以正常启动和停止。
接下来就是把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:
chkconfig --add tomcat
重新启动系统后可以启动的过程中看到Starting Tomcat ..... [OK]的信息,这样就完成设置过程。


附:vi编辑器的操作

打开文件:vi 文件名

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

输入模式切换到命令模式: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。假如要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数配置,通常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 name="localhost" ...>
  ...
  <Valve className="org.apache.catalina.valves.RemoteHostValve"
         allow="*.mycompany.com,www.yourcompany.com"/>
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         deny="192.168.1.*"/>
  ...
</Host>
这是我们服务器的配置,具体文档不能给您,因为涉及到公司机密,所以那一行我给您,我拷贝下来了
JAVA_OPTS='-server -Xms512m -Xmx768m -XX:NewSize=128m -XX:MaxNewSize=192m -XX:SurvivorRatio=8'

posted on 2009-08-13 17:02  马森  阅读(2188)  评论(0编辑  收藏  举报

导航