




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
京峰JF2117-Day41上课笔记 Tomcat WEB企业案例实战1、 Tomcat WEB服务器实战1) Tomcat是一款开源的、免费的WEB服务器软件,是Apache基金会旗下的,主要是用于发布网站代码、提供网页信息服务的,用户通过浏览器可以实现页面的访问。2) Tomcat WEB软件默认可以处理静态网页,同时也可以处理动态网页,而Nginx、Apache只能处理静态网页,Tomcat软件主要是基于Java语言开发的,主要是用于发布JAVA动态网站。n 静态网页(静态文件)静态网页主要是跟后端数据库不发生交互的网页,其网页内容很少被更新或者几乎不更新,网页文件后缀命名通常是以.htm、.html、.xml等结尾的。n 动态网页(动态文件)动态网页主要是跟后端数据库发生交互的网页,其网页内容经常被更新或者随着后端数据库内容变化而更新,网页文件后缀命名通常是以.asp、.jsp、.php等结尾的。3) JAVA动态网页(JSP:Java Server Pages)是基于JAVA语言开发的网页程序,而JAVA开发必备一个组件JDK工具包。JDK是JAVA语言开发的核心组件,同时JDK也是JAVA代码程序运行时的环境,JDK工具包中:JRE是用来解析和处理JSP网页程序的。4) JDK工具包主要是有两个部分组成,分别是JAVA工具(代码开发时用到)和JRE运行环境(代码运行时用到),其中JRE又是由JVM+类、库文件组成的。JVM(JAVA虚拟机)主要是用于运行和解析JAVA代码(字节码:是通过JAVAC编译器工具编译生成的)。Tomcat/JAVA服务器Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和Java Server Page(JSP)的支持,Tomcat本身也是一个HTTP服务器可以单独使用,Apache是一个以C语言编写的HTTP服务器。Tomcat主要用来解析JSP语言,目前最新版本为9.0。 2、 Tomcat企业安装配置JDK (Java Development Kit) ,是 Java 语言的软件开发工具包(SDK)),JDK是整个java开发的核心,它包含了JAVA运行时环境JavaRuntimeEnviromental,JRE)和 JAVA工具,其中JRE包括(JVM+Java系统类和库);JAVA虚拟机(Java Virtual Mechinal,JVM),JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JAVA开发人员通过JDK(调用JAVA API)工具包,开发了JAVA程序(JAVA源码文件)之后,通过JDK中的编译程序(JAVAC)将java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。jdk-6u18-linux-x64-rpm.bin,bin文件安装跟sh文件方法一样,sh ./ jdk-6u18-linux-x64-rpm.bin,回车即可,默认安装到/usr/java/jdk1.6.0_18目录下。配置java环境变量,vi /etc/profile 添加如下语句:export JAVA_HOME=/usr/java/jdk1.6.0_18export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH source /etc/profile /使环境变量立刻生效。 java -version /查看java版本,显示版本为1.6.0_18,证明安装成功。官网下载Tomcat相应版本,下载版本apache-tomcat-6.0.30.tar.gz,操作如下:tar -xzf apache-tomcat-6.0.30.tar.gz ;mv apache-tomcat-6.0.30 /usr/local/tomcat即可。启动tomcat,命令为:/usr/local/tomcat/bin/startup.sh查看ps -ef |grep tomcat 进程及端口是否存在Tomcat默认测试页面:创建index.jsp测试代码:JSP Test Page默认Tomcat发布目录为/usr/local/tomcat/webapps/网站,创建自定义发布目录方法如下:编辑server.xml配置文件,末尾标签前加入如下行:/data/webapps/www目录下创建测试JSP代码,重启Tomcat即可访问。3、 Tomcat配置文件详解Tomcat概述自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美。Tomcat目录tomcat|-bin Tomcat:存放启动和关闭tomcat脚本;|-confTomcat:存放不同的配置文件(server.xml和web.xml);|-doc:存放Tomcat文档;|-lib/japser/common:存放Tomcat运行需要的库文件(JARS);|-logs:存放Tomcat执行时的LOG文件;|-src:存放Tomcat的源代码;|-webapps:Tomcat的主要Web发布目录(包括应用程序示例);|-work:存放jsp编译后产生的class文件;Tomcat类加载Bootstrap($JAVA_HOME/jre/lib/ext/*.jar)System($CLASSPATH/*.class和指定的jar)Common($CATALINA_HOME/common 下的classes,lib,endores三个子目录)Catalina ($CATALINA_HOME/server/下的classes和lib目录仅对Tomcat可见)&Shared($CATALINA_HOME/shared/下的classes和lib目录以及$CATALINA_HOME/lib目录)仅对Web应用程序可见,对Tomcat不可见WebApp($WEBAPP/Web-INF/*仅对该WEB应用可见classes/*.classlib/*.jar)1) 加载类和资源的顺序为:2) /Web-INF/classes3) /Web-INF/lib/*.jar4) Bootstrap5) System6) $CATALINA_HOME/common/classes7) $CATALINA_HOME/common/endores/*.jar8) $CATALINA_HOME/common/lib/*.jar9) $CATALINA_HOME/shared/classes10) $CATALINA_HOME/shared/lib/*.jar server.xml配置:server: port 指定一个端口,这个端口负责监听关闭tomcat的请求shutdown 指定向端口发送的命令字符串service: name 指定service的名字Connector(表示客户端和service之间的连接):port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求minProcessors 服务器启动时创建的处理请求的线程数maxProcessors 最大可以创建的处理请求的线程数enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理connectionTimeout 指定超时的时间数(以毫秒为单位)Engine(表示指定service中的请求处理机,接收和处理来自Connector的请求):defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的Context(表示一个web应用程序):docBase 应用程序的路径或者是WAR文件存放的路径path 表示此web应用程序的url的前缀,这样请求的url为http:/localhost:8080/path/reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序host(表示一个虚拟主机):name 指定主机名appBase 应用程序基本目录,即存放应用程序的目录unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序;Logger(表示日志,调试和错误信息):className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口prefix 指定log文件的前缀suffix 指定log文件的后缀timestamp 如果为true,则log文件名中要加入时间,如下Realm(表示存放用户名,密码及role的数据库):className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口Valve(功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样):className 指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息directory(指定log文件存放的位置):pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多。4、 Tomcat连接器选择Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O操作(即Java.io包及其子包)。 默认的模式,性能最差,没有经过任何优化处理和支持。nio(non-blocking I/O),java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API。拥有比传统I/O操作(bio)更好的并发运行性能。 要让Tomcat以nio模式来运行,修改配置文件:tomcat/conf/server.xmlvim tomcat/conf/server.xml 修改以下内容:修改protocol的值为org.apache.coyote.http11.Http11NioProtocolapr(Apache Portable Runtime/Apache可移植运行时库),Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。从操作系统级别来解决异步的IO问题,大幅度的提高性能。 Tomcat apr也是在Tomcat上运行高并发应用的首选模式。要让Tomcat以apr模式来运行,必须安装apr和native安装apr: yum -y install apr apr-devel安装native:cd /usr/local/tomcat/bin/tar xzfv tomcat-native.tar.gzcd tomcat-native-1.1.33-src/jni/native/./configure -with-apr=/usr/bin/apr-1-configmake & make install整合Tomcat apr:设置环境变量 方法一:在/bin/catalina.sh中增加1行: (在echo “Using CATALINA_BASE: $CATALINA_BASE”的上一行添加) CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib 方法二:在/etc/profile中加入: export CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib source /etc/profile修改配置文件:tomcat/conf/server.xmlvim tomcat/conf/server.xml 修改以下内容:修改protocol的值为org.apache.coyote.http11.Http11NioProtocol5、 Tomcat性能优化参数剖析线上环境使用默认tomcat配置文件,性能很一般,为了满足大量用户的访问,需要对tomcat进行参数性能优化,具体优化的地方如下: Linux内核的优化 服务器资源配置的优化 Tomcat参数优化 配置负载集群优化这里着重讲解tomcat参数的优化: server.xml文件,关闭DNS查询、配置最大并发等参数。maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200acceptCount:当tomcat启动的线程数达到最大时,接受排队的请求个数,默认值为100当然这些值都不是越大越好,需要根据实际情况来设定。可以基于测试的基础上来不断的调优分析。Bin/catalina.sh JVM参数优化,添加如下内容:CATALINA_OPTS=$CATALINA_OPTS -Xms512M -Xmx1024M -Xmn100M -XX:SurvivorRatio=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=82 -DLOCALE=UTF-16LE -DRAMDISK=/ -DUSE_RAM_DISK=ture -DRAM_DISK=true -Djava.rmi.server.hostname=28 -Dcom.sun.management.jmxremote.port=10000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false配置多个tomcat实例,方法也很简单,只需要在服务器上cp多个tomcat,然后修改三个端口和发布目录即可,然后分别启动即可。为了提升整个网站的性能,还需要在tomcat前面架设Nginx web反向代理服务器,用以提高用户高速访问。6、 Tomcat生产环境Server.xml 7、 Tomcat生产环境优化Tomcat是目前企业中使用最广泛的WEB容器,主要是用于发布和处理静态网页+JSP动态网页的,作为运维人员最主要的职责就是维护Tomcat WEB服务器的稳定,优化其性能,Tomcat性能优化步骤和参数如下。1) Tomcat和JDK版本选择优化;通常来讲Tomcat跟JDK版本严格的版本选择,但是在实际使用中,可以通过压测工具测试其组合版本的性能,例如:n JDK1.6 Tomcat6.xn JDK1.6 Tomcat7.xn JDK1.8 Tomcat8.x2) Tomcat服务器连接器选择;Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式,在生产环境推荐使用nio和apr方式,从请求处理方式和操作系统级别来解决异步的IO问题,大幅度的提高性能。3) 关闭Tomcat server.xml文件中不必要的标签和参数;Tomcat标签有很多,通常来讲,有部分标签对于业务访问没有需求,可以删除,从而可以加快配置文件查询或者管理便捷。可以删除的标签:n n n 4) 调整Tomcat WEB对连接数相关参数;n minSpareThreads:最小空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 皮具设计师设备维护与保养考核试卷及答案
- 仪表着陆系统、测距仪机务员入职考核试卷及答案
- 煤气化工前沿技术考核试卷及答案
- 乳品浓缩工转正考核试卷及答案
- 消费者权益法律保护效果评估报告
- 生产设备安全操作培训成本效益分析报告
- 公关活动效果量化分析报告
- 鞋品视觉营销效果评估报告
- 色彩搭配师技术考核试卷及答案
- 废金属加工处理工标准化作业考核试卷及答案
- 浅谈国内外深基坑支护技术的现状及进展
- 网络舆情应对及处置
- 工业数据采集技术及应用 -配置能源采集仪表参数
- 《应急救援知识》课件
- 【一例重症肺炎的个案护理案例报告6000字(论文)】
- 电梯使用维护说明书
- 专业方向证明
- 范里安-微观经济学:现代观点
- 传热学全套PPT完整教学课件
- 部编版六年级道德与法治上册第5课《国家机构有哪些》优秀课件
- 民族区域自治制度课件 【核心知识精讲精思】 高中政治统编版必修三政治与法治
评论
0/150
提交评论