Tomcat的虚拟机主机配置与优化配置(实战!)
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,Tomcat虚拟主机配置某些时候公司有多个项目同时运行时,一台服务器不建议运行多个Tomcat服务,需要配置虚拟主机通过两个域名访问到不同的项目内容步骤:1.创建www和bbs项目 目录和文件2.修改
千家信息网最后更新 2025年02月06日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安全错误
数据库的锁怎样保障安全
CTF服务器安全加固软件
unix 服务器配置
nginx 服务器存储视频
吃鸡不同服务器活动
台州三拓网络技术有限公司
数据库安装
衡阳棋牌软件开发
石桥铺软件开发
众达微网络技术
速达v3数据库是什么样的
疫情所用的数据库技术
泉州计算机网络技术
河南冀盈互联网科技有限公司
python数据库编程语法
网络安全责任承诺书模板
raft关系型数据库
日常网络安全监测记录表
c 中对数据库的操作
软件开发部需要钱吗
阿里旺旺服务器
豪恩软件开发怎么样
宝山区互联网软件开发市场价格
服务器代理提示不安全
最新ibm服务器java
数据库怎么将小数改为百分比
完美阿拉德之怒服务器登录异常
隧道事件智能分析服务器
苏州软件开发园区有公司么
软件开发具备团队
路由器安装数据库