Tomcat简介
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat优点
1、兼有可扩du展性和安全性。假如单位时间内访问请求zhi数急剧增加,可以用相对较低的费dao用增加前端的能力。
2、比较容易扩展。由于是通过在这台功能强大的服务器上运行的单个servlet容器,实际上也就不需要考虑session状态在分布式环境下的维护这类复杂的问题。
3、台后端服务器在外界不可以访问,网上的黑客只能访问前端的web服务器,不能直接访问后端的应用服务器,这就提高了安全性。但这并不意味着黑客们不能通过网络浏览器进行其它形式的攻击。
Tomcat服务器,允许用户在同一台计算机上,配置多个Web站点,在这种情况下,需要为每个Web站点,配置不同的主机名,即配置虚拟主机。现实生活中,为了提高硬件资源的利用率,有很多网站通过配置虚拟主机的方式,实现服务器的共享。
一、Tomcat 优化(内存和线程是它性能上的瓶颈):
Tomcat 的缺省配置并不适合生产环境,它会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化主要有三个方面:
1、分别为操作系统优化(内核参数优化);
2、Tomcat 配置文件参数优化;
3、Java 虚拟机(JVM)调优;
接下来,介绍配合 jmeter 压测工具进行调优前和调优后的数据进行比较。
客户机上需要先安装 jdk;
这是用 jmeter工具测试未压缩时的数值:
第一步:修改 /usr/local/tomcat/conf/server.xml文件
<Connector port="8080" protocol="HTTP/11.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"/> ##响应压缩的文件格式
第二步:重启服务
第三步:再在客户机上面用 jmeter工具进行压测,这是进行优化后测试的数值
通过比较,我们发现修改优化后的平均值有一个非常大幅度的锐减,通过不断的压测优化才能让它最高效率稳定的运行。
二、配置虚拟主机:
第一步:安装好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/
至此,虚拟主机配置以及全部完成。