Tomcat服务:
Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,是一个开放源代码的web应用服务器,属于轻量级的应用服务器,在各中小型系统或
并发访问量不高的场景中应用非常普通。具有处理HTML页面的功能,还是一个servlet和JSP容器。
安装前:1、安装Java:yum install -y java-1.8.0-openjdk-devel.x86_64
java -version 验证查看是否安装成功Java
2、查看8080端口是否被占用:netstat -atunp |grep 8080
安装过程:
1、上传Tomcat到服务器
2、解压Tomcat软件到指定目录/usr/local/:
tar -zxvf apache-tomcat-8.5.77.tar.gz -C /usr/local/
3、设置软链接:ln -s /usr/local/apache-tomcat-8.5.77 /usr/local/tomcat
4、调用批处理启动Tomcat:
开启Tomcat:./startup.sh
关闭Tomcat:./shutdown.sh
5、查看端口和进程:lsof -i :8080
ps -ef |grep tomcat
tomcat服务默认端口是8080,保证安装前未被占用
6、访问Tomcat页面:192.168.31.136:8080 显示Tomcat测试页面
Tomcat优化
1、Tomcat目录结构
/bin:脚本文件目录。
/lib:tomcat运行需要的库文件
/conf:存放配置文件,最重要的是server.xml。
/logs:存放日志文件。
/temp:Tomcat运行时候存放临时文件用的
/webapps:web应用发布目录
/work:存储JSP编译后的class文件的目录
2、配置文件
server.xml:主要的配置文件
web.xml:缺省的web APP配置,WEB-INF/web.xml会覆盖该配置。
<server>
<service>
<connector port />
<Engine >
<Host name=”localhost” appBase=”webapps”
unpackWARs=”true” autoDeploy=”true”>
<context path=”” docbace=”webapps”>
<context />
</Host>
</Engine>
</Service>
</Server>
server:代表整个Tomcat容器,是整个配置文件中唯一一个最外层的元素。
service:作用是在connector和Engine外面包了一层,把它们组装在一起,对外提供服务,一个service可以包含多个connector,但只能
包括一个Engine,其中connector是从客户端接收请求,Engine是处理接收来的请求。
connector是接收连接请求,创建request和response对象用于和请求端交换数据。
engine:只有一个Engine组件,它是service中的请求处理组件。从一个或多个connector中接收请求并处理,然后完成后的响应返回级connector,
最终传给客户端。
Host:是Engine的子容器。Engine组件中可以内嵌一个或多个Host组件,每个Host组件代表Engine中的一个虚拟主机。Host至少有一个,且其中
一个的name必须与Engine组件的defaultHost属性匹配。
context:代表在特定的虚拟主机上运行的一个应用,是Host的子容器,一个context代表一个WEB应用,每个Host可以自定义多个context元素。
优化:服务器系统优化、系统内核优化、网络优化、服务自身优化(并发优化、底层优化、集群化)
ulimit -n 同时打开的文件
ulimit -u 同时运行的文件
/etc/security/limits.conf
3、网络优化:<Connector port=”8899″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″
compression=”on” #开启压缩功能
nocompressionUserAgents=”gozilla,traviata”/> #对配置的浏览器不启用压缩
4、并发优化:(1)、连接数:maxConnetions(最大连接数)
(2)、处理线程:maxThreads(最大线程数)
(3)、等候对列:acceptCount(排队数量),指最大连接数已经满了的时候,允许多少请求排队
maxThreads=”500″ 默认是200,生产环境中可取500-800
minSpareThreads=”100″ 最小空闲线程数,默认是25
maxQueueSize=”100″ 线程满时,最大允许等待的队列数,超过此配置则拒绝连接请求