tomcat虚拟主机配置
定义
- 一台服务器不建议运行多个Tomcat服务,需要配置虚拟主机
- 通过两个域名访问到不同的项目内容
- 步骤
-创建www和bbs项目目录和文件
-修改Tomcat主配置文件
-重启Tomcat服务
-访问测试 - Connector容器结束方式
<Connector> 或者 <Connector> ... --/>
...
</Connector>
基于域名
配置文件
[root@localhost ~]# vi /usr/local/tomcat8/conf/server.xml
<Host name="www.ab.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/app2" path="" reloadable="false">
</Context>
</Host>
配置app2的页面
[root@localhost ~]# cd /web/app2
[root@localhost app2]# vi index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>JSP Web 2</head>
<body>
<% out.println("Hi,Welcome!!!");%>
<div>动态页面2</div><br/><img src="dd.jpg" />
</body>
</html>
[root@localhost app2]# tomcatdown
[root@localhost app2]# tomcatup
[root@localhost app2]# netstat -anpt | grep 8080
添加映射
[root@localhost ~]# vi /etc/hosts
www.ab.com
访问测试
服务器访问:www.ab.com:8080
基于端口
配置文件
[root@localhost ~]# vi /usr/local/tomcat8/conf/server.xml //添加
<Service name="Catalina2">
<Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
<Engine name="Catalina2" defaultHost="localhost">
<Host name="www.ab.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="/web/app2" path="" reloadable="false">
</Context>
</Host>
</Engine>
</Service>
[root@localhost ~]# tomcatdown
[root@localhost ~]# tomcatup
[root@localhost ~]# netstat -anpt | grep java
[root@localhost ~]# netstat -anpt | grep 8090
[root@localhost ~]# netstat -anpt | grep 8080
访问测试
访问:www.aa.com.8080
访问:www.ab.com:8080
Tomcat配置优化
类型
- 操作系统优化(内核参数优化)
- Tomcat配置文件参数优化
- Java虚拟机(JVM)调优
配置文件参数优化
Tomcat主配置文件server.xml常用的配置参数优化:
- maxThreads: Tomcat 使用线程来处理接收的每个请求,这个值表示Tomcat 可创建的 最大的线程数,默认值是200。
- minSpareThreads: 最小空闲线程数,Tomcat 启动时的初始化线程数,表示即使没有人使用也开这么多空线程等待,默认值是10。
- maxSpareThreads: 最大备用线程数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket 线程。默认值是 -1 (无限制),一般不需要指定。
- URIEncoding: 指定Tomcat 容器的URL编码格式,Tomcat 语言编码格式这块不如其它Web 服务器软件配置方便,需要分别指定。
- connnectionTimeout: 网络连接超时,单位:毫秒,设置为0表示永不超时,这样设置有隐患的。通常默认20000毫秒(20秒)就可以。
- enableLookups: 是否反查域名,以返回远程主机的主机名,取值为: true 或false,如果设置为false,则直接返回IP地址,为了提高处理能力,应设置为false。
- disableUploadTimeout:上传时是否使用超时机制。应设置为true。
- connectionUploadTimeout:上传超时时间,毕竟文件上传可能需要消耗更多的时间,该参数需要根据自己的业务需要自行调整,以使Servlet有较长的时间来完成它的执行,需要与上一个参数一起配合使用才会生效。
- acceptCount:指定当所有可以使用的处理请求的线程都被使用时,可传入连接请求的最大队列长度,超过这个数的请求将不予处理,默认为100个。
- compression: 是否对响应的数据进行GZIP 压缩,off表示禁止压缩、on表示允许压缩(文本将被压缩)、force 表示所有情况下都进行压缩,默认值为off。压缩数据后可以有效的减少页面的大小,一般可以减小1/3 左右,因而节省带宽。
- compressionMinSize: 表示压缩响应的最小值,只有当响应报文大小大于这个值的时候才会对报文进行压缩,如果开启了压缩功能,默认值就是2048。(1k)
- compressableMimeType:压缩类型,指定对哪些类型的文件进行数据压缩。
- noCompressionUserAgents=” gozilla, traviata": 对于以下的浏览器,不启用压缩
修改配置优化
[root@localhost ~]# vi /usr/local/tomcat8/conf/server.xml
maxThreads="300" minSpareThreads="10" maxSpareThreds="20" /> ///修改并添加
URIEncoding="UTF-8" ///添加,中文显示
connectionTimeout="20000" enablelookups="false" connectionUploadTimeout="15000"