Tomcat安装:wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz
解压缩后直接在apache/bin目录下./startup.sh
启动小技巧:
当出现Tomcat一直卡在启动页面时,可以是因为Java.security配置文件里写的是/dev/random,/dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流。很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流。当使用/dev/random因为需要生成随机数如果没有完成这个随机数的创建就会一直卡在启动页面。建议找到jdk1.x.x_xx/jre/lib/security/Java.security文件,在文件中找到securerandom.source这个设置项,将其改为:
securerandom.source=file:/dev/unrandom
在 apache/conf/server.xml目录下 tomcat默认参数设置:
maxThreads:tomcat可用于请求处理的最大线程数,默认是200 ----连接数
• minSpareThreads:tomcat初始线程数,即最小空闲线程数 == minProcessors相同
• maxSpareThreads:tomcat最大空闲线程数,超过的会被关闭==maxThreads==maxProcessors
• acceptCount:当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理.默认100--- 最大排队数
minProcessors:最小连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
最大连接数 maxThreads
tomcat同时处理的线程数。
配置依据:
(1)、部署的程序偏计算型,主要利用cpu资源,应该将该参数设置小一点,减小同一时间抢占cpu资源的线程个数。
(2)、部署的程序对io、数据库占用时间较长,线程处于等待的时间较长,应该将该参数调大一点,增加处理个数。
最大排队数 acceptCount
当tomcat的线程数达到maxThreads后,新的请求就会排队等待,超过排队数的请求会被拒绝。
我一般设置和maxThreads相同。
"maxPostSize"该参数限制了post方式上传文件的大小,当maxPostSize<=0时,POST方式上传的文件大小不会被限制,maxPostSize参数只有当request的Content-Type为“application/x-www-form-urlencoded”时起作用。
"maxHttpHeaderSize"来自于客户端请求的Request和Response的HTTP,http请求头信息的最大程度,超过此长度的部分不予处理,一般8K。
"maxThreads"客户请求最大线程数,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
"minSpareThreads"最小空闲线程数,Tomcat初始化时创建的 socket 线程数.
"maxSpareThreads"最大连接线程数,即:并发处理的最大请求数,默认值为75,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
"minProcessors"最小空闲连接线程数,用于提高系统处理性能,默认值为 10。
"acceptCount"允许的最大连接数,应大于等于 maxProcessors ,默认值为 100。
"enableLookups"若设为true, 则支持域名解析,可把 ip 地址解析为主机名,为了提高处理能力,应设置为false。
"compression"打开压缩功能。
"compressionMinSize "启用压缩的输出内容大小,这里面默认为2KB
"compressableMimeType"压缩类型。
"connectionTimeout"网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒。
"URIEncoding"URL统一编码 。
"redirectPort"这里系统默认的,它指定转发端口,如果当前只支持non-SSL请求,在需要安全通信的场所,将把客户请求转发至SSL的redirectPort端口。
"disableUploadTimeout"上传时是否使用超时机制,如果不指定,该属性为“false”。
上述配置读者可通过实际业务需求进行调整,达到tomcat性能最优,关于更多tomcat详细部署读者可参考笔者的该篇文章,希望能有所帮助: