Web服务器,容器,用来管理web项目。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
http://tomcat.apache.org/ 下载官网,不用安装,直接就是一个完整的软件。
通过tomcat.exe进行安装和管理tomcat;Services.msc:打开服务列表,查看某个服务是否启动了。
Tomcat的管理界面,里面有应用程序的资源文件管理路径。
如果服务器停止,就不能访问内部的资源了。
Tomcat的配置文件:server.xml,在conf目录下。
注释<!---->
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443" />
1,如何修改tomcat的端口号?
通过8080访问tomcat应用服务器;如果8080端口被占用,可以修改成其他的端口比如80.8090等
2,<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
关于主机的配置(换成其他的ip地址进行访问),web应用程序放置在webapps目录下。
localhost 拒绝了我们的连接请求,说明Tomcat服务器关闭了。访问本地的应用程序,把自己的ip地址给前端人员,让他们去访问数据。两万毫秒表示连接超时。
如何调整Tomcat的jvm虚拟机的内存大小?
Tomcat是有一个默认的内存大小的。但是做企业级开发的时候,如果项目非常大,项目启动的时候,可能会超出Tomcat默认的虚拟机内存大小,导致内存溢出。
Optional java VM arguments: 调整jvm虚拟机内存大小。(如何查询物理内存?)
-Xms512m (堆内存的初始大小,默认是物理内存的六十四分之一)
-Xmx512m (堆内存的最大值,建议设置为物理内存的一般,不可超过物理内存)
-XX:PermSize=64M (设定内存永久保存区域的初始大小)
-XX:MaxPermSize=512m
如果堆内存不够,会导致内存溢出的错误。可以在Idea中进行修改。
Tomcat的优化(性能优化):两个方面的内容
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
maxThreads="10000"
URIEncoding="utf-8"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
redirectPort="8443" />
1、调整连接器connector的并发处理能力
在Server.xml中进行配置。
webServer应该拥有并发处理客户请求的能力。最大能够并发处理多少客户的请求呢?
同一时刻,tomcat可以产生多少个线程来应对用户的请求maxThreads。
maxThreads 客户请求最大线程数
minSpareThreads:Tomcat初始化时创建的 socket 线程数
maxSpareThreads:Tomcat连接器的最大空闲 socket 线程数
enableLookups:若设为true, 则支持域名解析,可把 ip 地址解析为主机名
redirectPort:在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
acceptAccount:监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )
connectionTimeout:连接超时
minProcessors:服务器创建时的最小处理线程数
maxProcessors:服务器同时最大处理线程数
URIEncoding URL:统一编码
2、tomcat的缓存优化
compression 打开压缩功能,(不启用/启用压缩文本内容/强制压缩所有请求包含图片)。
compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB 超过这个数据才会进行压缩。 单位:B,也就是默认是2K
compressableMimeType 压缩类型(都会进行压缩)
connectionTimeout 定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间
如果服务器端的资源比较大,浏览器加载比较慢,那么tomcat就会压缩资源,压缩后,数据小传输速度快,用户体验好。