>>分享Java Web开发技术,并且对孙卫琴的《Tomcat与Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 21480 个阅读者 刷新本主题
 * 贴子主题:  Tomcat虚拟主机配置以及各种优化 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2020-01-28 00:57:35     消息  查看  搜索  好友  邮件  复制  引用

1、Tomcat服务器,允许用户在同一台计算机上,配置多个Web站点,在这种情况下,需要为每个Web站点,配置不同的主机名,即配置虚拟主机。现实生活中,为了提高硬件资源的利用率,有很多网站通过配置虚拟主机的方式,实现服务器的共享。

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

一、配置虚拟主机:

第一步:安装好DNS服务,设置好对应的IP地址和域名解析,用客户机解析是否正确。
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
第二步:创建 kgc 和 accp 项目目录和文件。

     文件位置:/usr/local/tomcat/webapps/,分别创建以下两个目录及文件:

kgc/index.jsp
accp/index.jsp
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
第三步:修改配置文件

     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>

  点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
第四步:重启 tomcat服务

     (1)重启服务

  shutdown.sh   //关闭
  startup.sh    //开启

(2)在客户机上验证
在浏览器上分别输入,http://www.kgc.com:8080/http://www.accp.com:8080/
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
至此,虚拟主机配置以及全部完成。

二、Tomcat 优化(内存和线程是它性能上的瓶颈):

Tomcat 的缺省配置并不适合生产环境,它会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化主要有三个方面:

    
1、分别为操作系统优化(内核参数优化);
2、Tomcat 配置文件参数优化;
3、Java 虚拟机(JVM)调优;


     接下来,介绍配合 jmeter 压测工具进行调优前和调优后的数据进行比较。

     客户机上需要先安装 jdk;
这是用 jmeter工具测试未压缩时的数值:
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
第一步:修改 /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工具进行压测,这是进行优化后测试的数值
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
通过比较,我们发现修改优化后的平均值有一个非常大幅度的锐减,通过不断的压测优化才能让它最高效率稳定的运行。



----------------------------
原文链接:https://blog.51cto.com/14475593/2463482

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-01-29 11:47:15 重新编辑]
  Java面向对象编程-->流程控制
  JavaWeb开发-->使用过滤器
  JSP与Hibernate开发-->使用JPA和注解
  Java网络编程-->非阻塞通信
  精通Spring-->Vue指令
  Vue3开发-->通过Vuex进行状态管理
  Servlet@WebFilter注解方式——过滤器链的执行顺序
  HTTP请求方式:GET 对比 POST
  HTTP 基本工作原理
  JSP 国际化
  JSP 调试 技巧
  JSP XML 数据处理
  JSP 自动刷新
  Servlet入门范例的创建和运行
  keepalived+nginx+docker实现负载均衡高可用服务
  HTTP请求中的HEAD请求方式的作用
  HTTP协议和相应的RFC文档的更新
  开发Web服务的几种框架的对比:XFire和Axis2
  利用Tomcat自带的过滤器类来处理HTTP请求中的字符编码
  Servlet中取不到Cookie的原因和解决办法
  理解JavaWeb应用中的绝对URI和相对URI
  更多...
 IPIP: 已设置保密
树形列表:   
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。