首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Tomcat 5的新特性和架构变化

Tomcat 5的新特性和架构变化 1、支持servlet 2.4 和jsp 2.0; 2、重写了http mapper 模块,从Catalina代码中抽出来放到 coyote connector 中;     coyote connector 是tomcat的进入口,相当于java中的main函数。Http的请求在这里被解码,把http的请求转换成Tomcat可以处理的类。如果开发者想在tomcat中集成一些自己的组件,就需要利用coyote connector 作为一个中间连接器。这里需要说明的是,如果你写一个自己的组件和tomcat集成,这个组建其实是个valve。其实tomcat本身也是基于valve的。学习servlet都知道servlet chain,这是一个链状的处理过程,tomcat处理http请求也是类似的过程,tomcat就是在这些请求中加入不同的valve来实现的; 3、完全支持jmx ,符合jsr 160规范,就是 JMX remote; 4、支持嵌入式的tomcat。就是在你的应用程序中集成tomcat。     集成的方法有3种:1、使用embedded 接口 2、使用JMX 3、第三种就是使用apache连接tomcat的做法(什么原理?); 5、Sun ONE的servlet container 现在开始使用tomcat 了; 相关连接: 地址 Tomcat5 and Sun ONE developer

06
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Tomcat内存设置方法

    windows中大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。 所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存: 如:java -Xms 64m -Xmx 128m a.jar. tomcat的启动程序是包装过的,不能直接使用java -X….. tomcat.*来改变内存的设置。在Tomcat在改变这个设置 有两种方法: 1. 适合用%tomcat_home%/bin中的startup.bat脚本启动,需要在环境变量中加上CATALINA_OPTS这个属性 。 如 SET CATALINA_OPTS= -Xms 64m -Xmx 512m ; ms是最小的,mx是最大, 64m , 512m 分别是指内存的初始和最大容量.

    03

    Tomcat性能调优方案

    一、操作系统调优  对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。  【适用场景】 任何项目。  二、Java虚拟机调优  应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。  JDK1.4比JDK1.3性能提高了近10%-20%,JDK1.5比JDK1.4性能提高25%-75%。  因此对性能要求较高的情况推荐使用 JDK1.6。  【适用场景】 任何项目。  三、Apache集成Tomcat  Web服务器专门处理HTTP请求,应用服务器是通过很多协议为应用提供商业逻辑。虽然Tomcat也可以作web服务器,但其处理静态html的速度比不上Apache,且其作为web服务器的功能远不如Apache,因此把Apache和Tomcat集成起来,将html和Jsp的功能部分进行明确分工,让Tomcat只处理Jsp部分,其他的由Apache,IIS等web服务器去处理,由此大大提高Tomcat的运行效率。  如果一个项目中大量使用了静态页面、大量的图片等,并有有较大的访问量,推荐使用Apache集成Tomcat的方式来提高系统的整体性能。  Apache和Tomcat的整合有三种方式,分别是JK、http_proxy和ajp_proxy.其中JK方式是最常见的方式,JK本身有两个版本分别是1和2,目前1最新版本是1.2.8,而版本2早已经废弃了。http_proxy是利用Apache自带的mod_proxy模块使用代理技术来连接Tomcat。Ajp_proxy连接方式其实跟http_proxy方式一样,都是由mod_proxy所提供的功能。只需要把配置中的http://换成ajp://,同时连接的是Tomcat的AJP Connector所在的端口。  相对于JK的连接方式,后两种在配置上比较简单的,灵活性方面也一点都不逊色。但就稳定性而言不像JK这样久经考验,所以建议采用JK的连接方式。  Apache+JK+Tomcat配置:  使用到的两个配置文件分别是:httpd.conf和mod_jk.conf。其中httpd.conf是Apache服务器的配置文件,用来加载JK模块以及指定JK配置文件信息。mod_jk.conf是到Tomcat服务器的连接定义文件。  【部署步骤】  1.安装Apache服务器  2.部署Tomcat  3.将mod_jk.so拷贝到modules目录下面  4.修改httpd.conf和mod_jk.conf  【适用场景】  大量使用静态页面的应用系统。  四、Apache和Tomcat集群  对于并发要求很高的系统,我们需要采取负载均衡的方式来分担Tomcat服务器的压力。负载均衡实现大概有四种:第一是通过DNS,但只能简单的实现轮流分配,不能处理故障;第二是基于MS IIS,windows 2003 server本身就带了负载均衡服务;第三是硬件方式,通过交换机功能或专门的负载均衡设备来实现;第四种是软件的方式,通过一台负载均衡服务器进行,上面安装软件。使用Apache Httpd Server做负载均衡器,Tomcat集群节点使用Tomcat就可以做到上述第四种方式,这种方式比较灵活,成本相对比较低,另外一个很大的优点就是可以根据应用情况和服务器的情况做一些灵活的配置。所以推荐使用Apache+Tomcat集群来实现负载均衡。  采用Tomcat集群可以最大程度的发挥服务器的性能,可以在配置较高的服务器上部署多个Tomcat,也可以在多台服务器上分别部署Tomcat,Apache和Tomcat整合的方式还是JK方式。经过验证,系统对大用户量使用的响应方面,Apache+3Tomccat集群> Apache+2Tomcat集群 > Apache集成Tomcat > 单个Tomcat。并且采用Apache+多Tomcat集群的部署方式时,如果一个Tomcat出现宕机,系统可以继续使用,所以在硬件系统性能足够优越的情况下,需要尽量发挥软件的性能,可以采用增加Tomcat集群的方式。  Apache+Tomcat集群的方式使用到得配置文件有httpd.conf、mod_jk.conf、workers.properties。其中mod_jk.conf是对JK信息的配置,包括JK的路径等,workers.properties配置文件是对Tomcat服务器的连接定义文件。  Apache需要调整运行参数,这样才能构建一个适合相应网络环境的web服务。其中可进行的优化配置如下:  1. 设置MPM(Multi Processing Modules多道处理模块)。ThreadPerChild,这个

    02

    CentOS 6.5下安装Tomcat

    通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了。其中最大的一个问题就是Tomcat执行权限。普通方式配置的Tomcat是以root超级管理员的身份运行的,显然,这是非常危险的,可想而知,一但网站被挂马,您的整个服务器都可以被黑客控制了。而通过编译或在线(例如RedHat系列的yum, debian系列的apt-get)的方式安装,一个服务器上又只能装一个tomcat的服务,如果将多个网站放到同一个tomcat服务中,一但某一个网站出问题导致tomcat服务被卡死,则服务器上所有的网站都打不开了,无法满足各网站程序独享tomcat的需求。为了解决这些问题,我们需要配置Tomcat以指定的身份运行,且一台服务器上可以安装任意多个tomcat服务。

    02

    Centos7下Tomcat环境安装及使用脚本安装

    一、安装Java yum install java-1.8.0-openjdk.x86_64 安装完毕后,运行java -version 将输出如下内容: openjdk version "1.8.0_91" OpenJDK Runtime Environment (build 1.8.0_91-b14) OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) 二、添加tomcat用户 groupadd tomcat useradd -s /bin/nologin -g tomcat -d /usr/local/tomcat tomcat 三、下载Tomcat wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz sudo tar -zxvf apache-tomcat-8.0.33.tar.gz -C /usr/local/tomcat --strip-components=1 cd /usr/local/tomcat chown -R tomcat . chgrp -R tomcat conf chmod g+rwx conf chmod g+r conf/* chown -R tomcat logs/ temp/ webapps/ work/ 四、为Tomcat创建systemd unit 文件 vi /etc/systemd/system/tomcat.service [Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/jre Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/bin/kill -15 $MAINPID User=tomcat Group=tomcat [Install] WantedBy=multi-user.target 五、 安装haveged yum install haveged systemctl start haveged.service && systemctl enable haveged.service 六、启动Tomcat 并开启防火墙 systemctl start tomcat.service && systemctl enable tomcat.service firewall-cmd --zone=public --permanent --add-port=8080/tcp && firewall-cmd --reload 访问 http://[Your-Host-IP]:8080 预览是否正常。 七、配置Tomcat 管理界面 vi /usr/local/tomcat/conf/tomcat-users.xml 在 <tomcat-users ...>...</tomcat-users>中加入一个admin账号: <user username="yourusername" password="yourpassword" roles="manager-gui,admin-gui"/> 重启Tomcat

    01

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券