当有多个项目同时运行时,一台服务器不建议运行多个Tomcat 服务,这样会消耗太多的系统资源,此时,就需要配置虚拟主机。
例如,现在新增两个域名,www.kgc.com 和www.accp.com ,希望通过这两个域名访问到不同的项目内容。
域名 | IP地址 |
---|---|
www.kgc.com;www.accp.com | 192.168.220.131 |
一、配置虚拟主机:
第一步:安装好DNS服务,设置好对应的IP地址和域名解析,用客户机解析是否正确。
第二步:创建 kgc 和 accp 项目目录和文件。
文件位置:/usr/local/tomcat/webapps/,分别创建以下两个目录及文件
- kgc/index.jsp
- accp/index.jsp
第三步:修改配置文件
vim /usr/local/tomcat/conf/server.xml ,添加以下代码:
<Host name="www.kgc.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/kgc" path="" reloadable="ture" />
</Host>
<Host name="www.accp.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/accp" path="" reloadable="ture" />
</Host>
第四步:重启 tomcat服务
(1)重启服务
shutdown.sh //关闭
startup.sh //开启
(2)在客户机上验证
在浏览器上分别输入,http://www.kgc.com:8080/ 和 http://www.accp.com:8080/
至此,虚拟主机配置以及全部完成。
二、Tomcat 优化:
Tomcat 的缺省配置并不适合生产环境,它会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化主要有三个方面:
1、分别为操作系统优化(内核参数优化);
2、Tomcat 配置文件参数优化;
3、Java 虚拟机(JVM)调优;
接下来,介绍配合 jmeter 压测工具进行调优前和调优后的数据进行比较。
客户机上需要先安装 jdk;
这是用 jmeter工具测试未压缩时的数值:
第一步:修改 server.xml 文件
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
minSpareThreads="50"
enableLookups="false"
disableUploadTimeout="true"
acceptCount="300"
maxThreads="500"
processorCache="500"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"/>
第二步:重启服务
shutdown.sh
startup.sh
第三步:再在客户机上面用 jmeter工具进行压测,这是进行优化后测试的数值
通过比较,我们可以发现修改优化后的平均值有一个非常大幅度的锐减,通过不断的压测优化才能让它最高效率稳定的运行。