使用tomcat做java中间件

tomcat是一个老牌的中间件了,从我从业到现在时不时都会遇到它,方便、灵活、性能一般是我对它的使用经验总结。

配置

注意 : tomcat 7 和 6 有很大差别,server.xml catalina.sh 配置文件不能通用

设置tomcat7 使用jdk1.7
export JAVA_HOME=/usr/local/java/

  

/usr/local/tomcat1/conf/server.xml

<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="1000" minSpareThreads="25" maxSpareThreads="200"
enableLookups="false" redirectPort="8443" acceptCount="1000"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

 

maxThreads="150" 表示最多同时处理150个连接 

minSpareThreads="25" 表示即使没有人使用也开这么多空线程等待
maxSpareThreads="75" 表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的
acceptCount="100" 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接

# StartServers:启动时服务器启动的进程数

# MinSpareServers:保有的备用进程的最小数目

# MaxSpareServers:保有的备用进程的最大数目

# MaxClients:服务器允许启动的最大进程数

# MaxRequestsPerChild:一个服务进程允许的最大请求数


每类日志的级别分为如下 7 种: 
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)


最后 </Host> 上增加
<Context path="/download" reloadable="false" docBase="/home/local/tomcat+apache/tomcat1/webapps/download" />
==========================================================================
普通文件【tar】 下载直接全目录
文本文件 主页做一个超连接 <a href="http://localhost/download/ty">ty</a>

 

windows 修改 tomcat的名字

catalina.bat

:doStart 
shift 
if not "%OS%" == "Windows_NT" goto noTitle
if "%TITLE%" == "" set TITLE=Tomcat8080
set _EXECJAVA=start "%TITLE%" %_RUNJAVA%
goto gotTitle

  

日志级别的设定方法

修改 conf/logging.properties 中的内容,设定某类日志的级别

示例:

设置 catalina 日志的级别为: FINE
1catalina.org.apache.juli.FileHandler.level = FINE

  

导出java堆栈

jstack <pid>
kill -3 <pid>
java 堆栈状态解析
http://blog.csdn.net/rachel_luo/article/details/8920596

 


在Tomcat中,我们知道%catalina_home%\work是存放缓存文件的地方


统计TCP连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

 

堆栈内存分配

CATALINA_OPTS="-Xms1024m -Xmx1024m"
JAVA_OPTS="-Xms1024m -Xmx1024m"

 

问题报错:

LifecycleException: No UserDatabase component found under key UserDatabase
server.xml文件出错了:
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
athname="conf/tomcat-users.xml" />

  

conf/tomcat-users.xml 或者出现了问题,找一个正常的比较一下就可以了

posted @ 2019-12-26 11:43  richardzgt  阅读(517)  评论(0编辑  收藏  举报