Linux下Tomcat 8 常用命令和优化

1.常用命令


启动Tomcat服务,有三种方式:
(1)直接启动startup.sh

[root@node3 apache-tomcat-8.5.9]# bin/startup.sh 
Using CATALINA_BASE:   /opt/apache-tomcat-8.5.9
Using CATALINA_HOME:   /opt/apache-tomcat-8.5.9
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.5.9/temp
Using JRE_HOME:        /usr/jdk1.8.0_101
Using CLASSPATH:       /opt/apache-tomcat-8.5.9/bin/bootstrap.jar:/opt/apache-tomcat-8.5.9/bin/tomcat-juli.jar
Tomcat started.

(2) 作为服务启动 startup.sh &

[root@node3 apache-tomcat-8.5.9]# bin/startup.sh &
[1] 26387
Using CATALINA_BASE:   /opt/apache-tomcat-8.5.9
Using CATALINA_HOME:   /opt/apache-tomcat-8.5.9
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.5.9/temp
Using JRE_HOME:        /usr/jdk1.8.0_101
Using CLASSPATH:       /opt/apache-tomcat-8.5.9/bin/bootstrap.jar:/opt/apache-tomcat-8.5.9/bin/tomcat-juli.jar
Tomcat started.
[root@node3 apache-tomcat-8.5.9]#

startup.sh &启动方式可以作为linux服务一直运行

(3)控制台动态输出方式启动 catalina.sh run

[root@node3 apache-tomcat-8.5.9]# bin/catalina.sh run
Using CATALINA_BASE:   /opt/apache-tomcat-8.5.9
Using CATALINA_HOME:   /opt/apache-tomcat-8.5.9
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.5.9/temp
Using JRE_HOME:        /usr/jdk1.8.0_101
Using CLASSPATH:       /opt/apache-tomcat-8.5.9/bin/bootstrap.jar:/opt/apache-tomcat-8.5.9/bin/tomcat-juli.jar
23-Jun-2017 08:38:51.451 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.9
23-Jun-2017 08:38:51.456 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Dec 5 2016 20:18:12 UTC
23-Jun-2017 08:38:51.456 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.9.0
23-Jun-2017 08:38:51.456 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
23-Jun-2017 08:38:51.456 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-327.el7.x86_64
23-Jun-2017 08:38:51.456 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
23-Jun-2017 08:38:51.456 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/jdk1.8.0_101/jre
23-Jun-2017 08:38:51.456 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_101-b13
23-Jun-2017 08:38:51.457 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
23-Jun-2017 08:38:51.457 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /opt/apache-tomcat-8.5.9
23-Jun-2017 08:38:51.457 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /opt/apache-tomcat-8.5.9
......(以下内容省略)

该命令可以动态查看tomcat控制台输出信息,按Ctrl+C后退出并关闭服务

2. Tomcat优化


shutdown.sh

可能shutdown.sh 无法停止 tomcat,可以修改其配置
修改shutdown.sh的最后这一行

[root@webServer bin]# vim shutdown.sh
#exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
exec "$PRGDIR"/"$EXECUTABLE" stop 10 -force

server.xml

编辑配置文件

[root@webServer conf]# vim server.xml
    <Connector port="7080" 
               protocol="org.apache.coyote.http11.Http11Nio2Protocol"
               enableLookups="false"
               connectionTimeout="20000"
               redirectPort="8443" />

protocol,Tomcat 8 设置 nio2 更好:org.apache.coyote.http11.Http11Nio2Protocol
enableLookups,禁用DNS查询

CATALINA_OPTS

[root@webServer ~]# vim /etc/profile

export JAVA_HOME=/opt/jdk1.8.0_112
export PATH=$PATH:$JAVA_HOME/bin

export CATALINA_HOME= /opt/apache-tomcat-8.5.9
# 下面参数根据自己机子内存进行配置
# CATALINA_OPTS 只配置给 Tomcat 的 VM
# JAVA_OPTS 配置给所有调用 Java 的程序的 VM
# 有 CATALINA_OPTS 的时候 Tomcat 优先读这个
# 其中:-server 表示启用 jdk 的 server 版,一定要作为第一个参数,在多个 CPU 时性能佳;  
export CATALINA_OPTS="-server -Xms2048m -Xmx4096m -XX:PermSize=1024m -XX:MaxPermSize=1024m"

# 设置生成的 PID 位置
export CATALINA_PID=$CATALINA_HOME/catalina.pid

-Xms:初始堆大小
-Xmx:最大堆大小
-Xmn:最小值
PermSize 永久保存区域初始大小
MaxPermSize 永久保存区域初始最大值

[root@webServer ~]# source /etc/profile

3.日志目录

运行一段时间后,Tomcat的日志catalina.out文件可能高达几百个G,直接把操作系统撑崩溃了。

修改Tomcat日志输出目录 /var/log/tomcat(/var目录单独挂载独立磁盘)

[root@hadron conf]# pwd 
/opt/apache-tomcat-8.0.23/conf
[root@hadron conf]# vi logging.properties
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

##################################################################
#
# 20170-05-25 chengyuqiang
#
##################################################################

# 可配置项(5类日志):catalina、localhost、manager、admin、host-manager
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

#日志输出为输出到文件和输出到控制台
.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

#日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)

#配置文件使catalina日志输出级别为FINE
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
#修改日志输出目录。若无这样的路径,将会自动生成对应文件夹。
1catalina.org.apache.juli.AsyncFileHandler.directory = /var/log/tomcat
#catalina日志前缀为catalina
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = /var/log/tomcat
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.

3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = /var/log/tomcat
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = /var/log/tomcat
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler

# For example, set the org.apache.catalina.util.LifecycleBase logger to log
# each component that extends LifecycleBase changing state:
#org.apache.catalina.util.LifecycleBase.level = FINE

# To see debug messages in TldLocationsCache, uncomment the following line:
#org.apache.jasper.compiler.TldLocationsCache.level = FINE
[root@nb0 conf]# 

修改apache-tomcat-8.0.23/bin/catalina.sh

[root@hadron bin]# pwd
/opt/apache-tomcat-8.0.23/bin
[root@hadron bin]# vi catalina.sh

约198行左右

if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

修改为:

if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT=/dev/null
fi

修改apache-tomcat-8.0.23/conf/server.xml

[root@hadron conf]# vi server.xml

第125行左右

注释掉

<!--<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log" suffix=".txt"/>-->

再次重启,发现/opt/apache-tomcat-8.0.23/logs目录下面没有日志输出了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值