apache 重定向tomcat端口_Tomcat部署及优化

本文详细介绍了Apache Tomcat的安装部署、配置优化和性能测试。内容涵盖JVM内存配置、Connector参数调整、线程池优化、BIO/NIO/APR比较以及使用JMeter进行性能测试。通过实例解析了如何提高Tomcat处理并发请求的能力,以提升系统性能。
摘要由CSDN通过智能技术生成

原文章地址:https://www.cnblogs.com/happy-king/p/9193257.html

一、Tomcat安装部署

一、安装jdk和Tomcat

1、上传jdk和Tomcat

mkdir -p /opt/tools/ /application
##jdk:jdk-8u131  tomcat:9.0
cd /opt/tools/
rz apache-tomcat-9.0.0.M17.tar.gz   jdk-8u131-linux-x64.tar.gz

2、解压jdk和Tomcat

1、jdk部署
tar xf jdk-8u131-linux-x64.tar.gz -C /application
chown  -R root.root /application/jdk1.8.0_131/
ln -s /application/jdk1.8.0_131/  /application/jdk

2、Tomcat部署
tar xf  apache-tomcat-9.0.0.M17.tar.gz  -C /application
chown  -R root.root /application/apache-tomcat-9.0.0.M17/ 
ln -s /application/apache-tomcat-9.0.0.M17/  /application/tomcat

3、设定环境变量

方法一:vim设置/etc/profile

#jdk
export JAVA_HOME=/application/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
#tomcat
export TOMCAT_HOME=/application/tomcat
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

方法二:sed追加

sed -i.bak '$a export JAVA_HOME=/application/jdknexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHnexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile

使配置生效,查看java版本

source /etc/profile
java -version

二、Tomcat配置文件server.xml详解

<Server port="8015" shutdown="WZSSHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />


    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!--
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    -->

    <Connector port="8221" protocol="HTTP/1.1"      #port 端口配置
               connectionTimeout="20000"            #connectionTimeout指定超时的时间数(以毫秒为单位)
               maxThreads="3000"               #tomcat起动的最大线程数,即同时处理的任务个数,默认值为200
               minSpareThreads="100"         #初始化时创建的线程数
               acceptCount="800" #指定当所有可以使用的处理请求的线程数都被使用时,
                                   可以放到处理队列中的请求数,超过这个数的请求将不予处理
                                   
               maxKeepAliveRequests="200"  #表示该连接最大支持的请求数。超过该请求数的连接也将被关闭(此时就会返回一个Connection: close头给客户端)。
               URIEncoding="UTF-8"     #指定字符集
               redirectPort="8443" />   #指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号

/application/tomcat/conf/server.xml

三、Tomcat的日志级别

1、日志级别详解

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

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

#日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
#配置文件使catalina日志输出级别为FINE
1catalina.org.apache.juli.FileHandler.level = FINE
#catalina文件输出位置
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#catalina日志前缀为catalina
1catalina.org.apache.juli.FileHandler.prefix = catalina.

#配置文件使localhost日志输出级别为FINE
2localhost.org.apache.juli.FileHandler.level = FINE
#localhost文件输出位置
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#localhost日志前缀为localhost
2localhost.org.apache.juli.FileHandler.prefix = localhost.

#配置文件使manager日志输出级别为FINE
3manager.org.apache.juli.FileHandler.level = FINE
#manager文件输出位置
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#manager日志前缀为manager
3manager.org.apache.juli.FileHandler.prefix = manager.

#配置文件使host-manager日志输出级别为FINE
4host-manager.org.apache.juli.FileHandler.level = FINE
#host-manager文件输出位置
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#host-manager日志前缀为host-manager
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

#配置文件使控制台日志输出级别为FINE
java.util.logging.ConsoleHandler.level = FINE
#控制台日志输出格式
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

#localhost日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
#localhost日志文件输出处理类2localhost.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

#manager日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
#manager日志文件输出处理类3manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler

#host-manager日志文件输出级别为INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
#host-manager日志文件输出处理类4host-manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler

2、修改Tomcat默认的日志级别,减少日志量

将logging.properties将FINE改成INFO

二、Tomcat优化

一、内存优化

默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间,何况大规模访问的情况。

1、内存问题

即使是本文中的这个只有一个页面的超小项目,在并发达到一定程度后也会抛出以下类似异常:

严重: Exception invoking periodic operation: java.lang.OutOfMemoryError: Java heap space  
  
严重: Error processing request java
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值