Tomcat的虚拟机主机配置与优化配置(实战!)
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Tomcat虚拟主机配置某些时候公司有多个项目同时运行时,一台服务器不建议运行多个Tomcat服务,需要配置虚拟主机通过两个域名访问到不同的项目内容步骤:1.创建www和bbs项目 目录和文件2.修改
千家信息网最后更新 2025年12月02日Tomcat的虚拟机主机配置与优化配置(实战!)
Tomcat虚拟主机配置
某些时候公司有多个项目同时运行时,一台服务器不建议运行多个Tomcat服务,需要配置虚拟主机
通过两个域名访问到不同的项目内容
步骤:
1.创建www和bbs项目 目录和文件
2.修改Tomcat主配置文件
3.重启Tomcat服务
4.测试
Tomcat优化
Tomcat 的缺省配置并不适合生产环境,它会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化主要有三方面,分为操作系统优化(内核参数优化),Tomcat 配置文件参数优化,Java 虚拟机(JVM)调优。
Tomcat常用的优化相关参数
【maxThreads】Tomcat 使用线程来处理接收的每个请求,这个值表示 Tomcat 可创建的最大的线程数,默认值是 200。【minSpareThreads】最小空闲线程数,Tomcat 启动时的初始化的线程数,表示即使没有人使用也开这么多空线程等待,默认值是 10【maxSpareThreads】最大备用线程数,一旦创建的线程超过这个值,Tomcat 就会关闭不再需要的 socket 线程。默认值是-1(无限制)。一般不需要指定【URIEncoding】指定 Tomcat 容器的 URL 编码格式,语言编码格式这块倒不如其它 Web服务器软件配置方便,需要分别指定【connnectionTimeout】网络连接超时,单位:毫秒,设置为 0 表示永不超时,这样设置有隐患的。通常默认 20000 毫秒就可以【enableLookups】是否反查域名,以返回远程主机的主机名,取值为:true 或 false,如果设置为 false,则直接返回 IP 地址,为了提高处理能力,应设置为 false。【disableUploadTimeout】上传时是否使用超时机制。应设置为 true。【connectionUploadTimeout】上传超时时间,毕竟文件上传可能需要消耗更多的时间,这个根据你自己的业务需要自己调,以使 Servlet 有较长的时间来完成它的执行,需要与上一个参数一起配合使用才会生效【acceptCount】指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,超过这个数的请求将不予处理,默认为 100 个。【compression】是否对响应的数据进行 GZIP 压缩,off:表示禁止压缩;on:表示允许压缩(文本将被压缩)、force:表示所有情况下都进行压缩,默认值为 off,压缩数据后可以有效的减少页面的大小,一般可以减小 1/3 左右,节省带宽【compressionMinSize】表示压缩响应的最小值,只有当响应报文大小大于这个值的时候才会对报文进行压缩,如果开启了压缩功能,默认值就是 2048【compressableMimeType】压缩类型,指定对哪些类型的文件进行数据压缩。【noCompressionUserAgents="gozilla, traviata"】对于以下的浏览器,不启用压缩如果已经对代码进行了动静分离,静态页面和图片等数据就不需要 Tomcat 处理了,那么也就不需要在 Tomcat 中配置压缩了。因为这里只有一台 Tomcat 服务器,而且压测的是Tomcat 首页,会有图片和静态资源文件,所以这里启用压缩实验操作
本次实验是在Tomcat服务已经安装完成的情况下进行的,部署安装Tomcat服务的实验我上一篇博客已经写过了。
(1)安装配置域名解析服务
[root@localhost security]# yum install bind -y.....................//省略过程[root@localhost security]# vim /etc/named.confoptions { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; };[root@localhost security]# vim /etc/named.rfc1912.zones zone "abc.com" IN { type master; file "abc.com.zone"; allow-update { none; };};zone "xyz.com" IN { type master; file "xyz.com.zone"; allow-update { none; };};[root@localhost security]# cd /var/named/[root@localhost named]# cp -p named.localhost abc.com.zone[root@localhost named]# vim abc.com.zone $TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1www IN A 192.168.52.132[root@localhost named]# cp -p abc.com.zone xyz.com.zone #复制abc文件并改名为xyz文件,不做修改[root@localhost named]# lsabc.com.zone data dynamic named.ca named.empty named.localhost named.loopback slaves xyz.com.zone[root@localhost named]# [root@localhost named]# systemctl start named #启动域名解析服务[root@localhost named]# [root@localhost named]# systemctl stop firewalld.service #关闭防火墙[root@localhost named]# setenforce 0 #关闭增强型安全功能(2)创建 abc 和 xyz 项目目录和文件
[root@localhost named]# cd /usr/local/tomcat/[root@localhost tomcat]# mkdir /usr/local/tomcat/webapps/abc #创建abc站点目录[root@localhost tomcat]# echo "This is abc page\!" > /usr/local/tomcat/webapps/abc/index.jsp #编辑abc首页[root@localhost tomcat]# mkdir /usr/local/tomcat/webapps/xyz #创建xyz站点目录[root@localhost tomcat]# echo "This is xyz page\!" > /usr/local/tomcat/webapps/xyz/index.jsp #编辑xyz首页[root@localhost tomcat]# (3)修改 Tomcat 主配置文件server.xml
[root@localhost tomcat]# vim /usr/local/tomcat/conf/server.xml #定义www.abc.com虚拟主机配置 #定义www.xyz.com虚拟主机配置 [root@localhost tomcat]# /usr/local/tomcat/bin/shutdown.sh #关闭服务Using CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar[root@localhost tomcat]# /usr/local/tomcat/bin/startup.sh #开启服务Using CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.[root@localhost tomcat]#name="www.kgc.com" #定义虚拟主机名appBase="/usr/local/tomcat/webapps" #指定站点文件路径unpackWARs="true" #开启war包的更新autoDeploy="true" #开启自动部署xmlValidation="false" #关闭xml验证xmlNamespaceAware="false" #关闭xml命名空间docBase="/usr/local/tomcat/webapps/kgc" #指定网页站点路径path="" reloadable="true" #指定path默认加载的类与reloadable监视类的开启(4)浏览测试网页
1.使用浏览器访问 http://www.abc.com:8080 页面显示This is abc page

2.使用浏览器访问 http://www.xyz.com:8080 页面显示This is xyz page
(5)优化Tomcat
1.未优化前使用apache-jmeter先压测一下
2.修改主配置文件server.xml
[root@localhost tomcat]# vim /usr/local/tomcat/conf/server.xml #支持的压缩类型[root@localhost tomcat]# shutdown.sh #关闭服务Using CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar[root@localhost tomcat]# startup.sh #开启服务Using CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.8.0_201-amd64Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.[root@localhost tomcat]# 3.再次压测优化后的Tomcat
服务
配置
文件
线程
主机
虚拟主机
处理
参数
域名
数据
目录
站点
页面
项目
浏览
最大
只有
时间
服务器
浏览器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
解析种子服务器异常
莘莘学子网络安全在哪里设置
电信公司的网络安全
去美国找软件开发工作
绝地大逃杀服务器架设
idea中的没有数据库
服务器限制游戏通用吗
2021网络技术工作总结
围攻Besiege服务器地址
朝阳区先进网络技术服务
软件开发团队口号
安徽gps卫星时钟服务器云主机
嘉兴企业软件开发亿连信
读取数据库表
网狐荣耀教程网络技术
嘉兴专业软件开发
江阴进口软件开发诚信合作
福山区管理系统软件开发哪家靠谱
义乌学软件开发流程八个步骤
人渣服务器后台设置管理员
护苗 网络安全课堂观后感
苏州正规软件开发价格表
网络安全法从哪一年开始实施
正规的电脑服务器回收
申论热点范文 网络安全
socket聊天服务器
数据库前端开发工具是什么
网站软件开发公司同一个
数据库分表操作命令
网络技术注册的公司包涵范围