设为首页 收藏本站
查看: 1267|回复: 0

[经验分享] 【转】 在linux环境下部署tomcat应用+配置优化

[复制链接]

尚未签到

发表于 2015-8-8 10:04:03 | 显示全部楼层 |阅读模式
http://blog.iyunv.com/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
内容修改为以下:


  
  
  
  
  
  
  
  

5、修改tomcat的默认路径

      
下面加入:

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:
#
#  
#  
#
# 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即可,如下:  

...

listings
false

...

4、tomcat中如何禁止和允许主机或IP地址访问

  ...
   
   
  ...

这是我们服务器的配置,具体文档不能给您,因为涉及到公司机密,所以那一行我给您,我拷贝下来了  
JAVA_OPTS='-server -Xms512m -Xmx768m -XX:NewSize=128m -XX:MaxNewSize=192m -XX:SurvivorRatio=8'

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-95364-1-1.html 上篇帖子: JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器) 下篇帖子: tomcat控制台启动成功但是却访问不了主页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表