Apache+Tomcat3

合集下载

tomcat基础知识介绍精品PPT课件

tomcat基础知识介绍精品PPT课件
提个问题,各个版本之间除了支持的Servlet/JSP规范外 还有什么区别?
1. tomcat下有哪些文件夹,都有什 么作用
tomcat下有9个目录,分别是bin,common,conf,logs,server, shared,temp,webapps,work 目录,现在对每一目录做介绍。
tomcat根目录在tomcat中叫<CATALINA_HOME> 1)<CATALINA_HOME>/bin用于存放各种平台下启动和关闭Tomcat的
<ResourceLink name="jdbc/default" global="jdbc/default" type="javax.sql.DataSource" /> </Context>。
见 “tomcat配置数据源.docx”
4.怎么配置访问日志,为不同的应用 配置单独的访问日志
配置访问日志 在server.xml里的<host>标签下加上 <Valve className="org.apache.catalina.valves.AccessLogVal ve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
privileged="true"/>
</Host>
</Engine>
</Service>

apache和tomcat优缺点

apache和tomcat优缺点

Tomcat只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行
两者从以下几点可以比较的:
1、两者都是apache组织开发的
2、两者都有HTTP服务的功能
3、两者都是开源免费的
联系
如果要在Apache环境下运行jsp就需要一个解释器来执行jsp网页,而这个jsp解释器就是Tomcat
那为什么还要JDK呢?因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要APACHE+TOMCAT+JDK
整合的好处:
如果客户端请求的是静态页面,则只需要Apache服务器响应请求
3)Apache和Tomcat整合使用:
如果客户端请求的是静态页面,则只需要Apache服务器响应请求;
如果客户端请求动态页面,则是Tomcat服务器响应请求,将解析的JSP等网页代码解析后回传给Apache服务器,再经Apache返回给浏览器端。
这是因为jsp是服务器端解释代码的,Tomcat只做动态代码解析,Apache回传解析好的静态代码,Apache+Tomcat这样整合就可以减少Tomcat的服务开销。
Tomcat是运行在Apache上的应用服务器,应用程序服务器提供的是客户端应用程序可以调用(call)的方法 (methods)。它只是一个servlet(jsp也翻译成servlet)容器,可以认为是Apache的扩展,但是可以独立于apache运行。
2、Apache是普通服务器,本身只支持html静态普通网页。不过可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然),Tomcat是jsp/servlet容器,同时也支持HTML、JSP、ASP、PHP、CGI等,其中CGI需要一些手动调试,不过很容易的。

Apache与Tomcat协同配置参考

Apache与Tomcat协同配置参考

Apache与Tomcat协同配置参考在按照本文档进行配置之前,假设Tomcat和Apache均已安装成功。

1.优化tomcat与apache协同端口通常情况下,tomcat的配置文件server.xml中并没有对apache与tomcat的连接池进行配置,建议按照如下方法配置:<Connector port="8219"maxThreads="512"minSpareThreads="256"maxSpareThreads="512"acceptCount="512"connectionTimeout="20000"disableUploadTimeout="true"enableLookups="false"redirectPort="8443"debug="0"protocol="AJP/1.3"/>主要参数意义:minSpareThreads:最小空闲连接线程数,服务器启动时创建的处理请求的线程数,用于提高系统处理性能,默认值为10maxSpareThreads:最大连接线程数,即:并发处理的最大请求数,默认值为75acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右,在Linux中可通过修改/etc/security/limits.conf中的参数,增加如下配置* soft nofile 163840* hard nofile 163840完整Tomcat配置server.xml文件参见附件server.xml。

Tomcat Jboss 区别

Tomcat Jboss 区别
供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中
。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是
与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,
新的java产品,可见其在业界的地位。
Tomcat 最新版本是4.0x.4.0x与3.x的架构不同,而是重新设计的。Tomcat4.0x中采用了新的
Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本
供下载,可以从上下载其源代码版或者二进制版。由于Java的跨平台
码遵循LGPL许可,你可以在任何商业应用中免费使用它,而不用支付费用。JBoss支持EJB 1.1和
EJB 2.0 EJB3.0的规范,它是一个管理EJB的容器和服务器。类似于Sun's J2SDK Enterprise
Edition(J2EE),JBoss的目标是一个源代码开放的J2EE环境。但是JBoss核心服务仅是提供EJB
4、JBoss能够"热部署",部署BEAN只是简单拷贝BEAN的JAR文件到部署路径下就可以了。如果没有
加载就加载它;如果已经加载了就卸载掉,然后LOAD这个新的。
5、JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运
行效率,提升安全性能。
与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具

关于ApacheTomcat文件包含漏洞(CVE-2020-1938)威胁整改

关于ApacheTomcat文件包含漏洞(CVE-2020-1938)威胁整改

关于ApacheTomcat⽂件包含漏洞(CVE-2020-1938)威胁整改2、⽤的apache-tomcat-8.5.47.tar.gz,修改server.xml配置。

注意:这⾥不能直接⽤RAR或者360ZIP进⾏修改,这样会导致包出问题,我就是踩了这个低级错误坑。

导致报(org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"]172.20.11.14921-Feb-2020 16:20:25.952 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [] appears to have started a thread named [pool-2-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:)的错误。

有两种⽅式修改:①window上下载7zip修改;②在linux上修改,tar.gz格式:【压缩】:tar -zcvf ⽬录⽂件名.tar.gz ⽬录⽂件名【解压】:tar -zxvf ⽬录⽂件名.tar.gz3、修改完配置之后,传到docker打镜像的服务器上任意⽬录;①备份原有镜像到本地当前⽬录:docker save tomcat:8 -o tomat-8.tar还原镜像只需在镜像所在⽬录执⾏:docker load -i tomat-8.tar②打镜像:docker build -t tomcat:8 . (注意有个.)③之后重新打应⽤镜像包发布即可;4、验证:进⼊镜像,进⼊/opt/apache-tomcat-8.5.47,找到server.xml,查看修改的配置有⽆⽣效;。

apach+tomcat系统整合说明

apach+tomcat系统整合说明
# Second tomcat server
# ------------------------
worker.tomcat2.port=8011
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=10
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout---------
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat1,tomcat2
worker.loadbalancer.sticky_session=1
JkRequestLogFormat "%w %V %T"
JkMount /*.jsp ajp13w
JkMount /servlet/* ajp13w
JkMount /*.servlet ajp13w
JkMount /*.do ajp13w
JkMount /admin/* ajp13w
####### Defining a worker named worker1 and of type ajp13
worker.list=worker1
####### Set properties for worker1

Tomcat工作原理详解

Tomcat工作原理详解
然后内容类型等,这个顺序可以自己定。
六、管理
1、用户配置 在进行具体Tomcat管理之前,先给tomcat添加一个用户,使这个用户有权限来进行管理。 打开conf目录下的tomcat-users.xml文件,在相应的位置添加下面一行:
<user name="user" password="user" roles="standard,manager"/> 然后重起tomcat,在浏览器中输入http://localhost:8080/manager/,会弹出对话框,输入上面的用户 名和密码即可。
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/*.class lib/*.jar)
3、会话超时的设置 设置session 的过期时间,单位是分钟; <session-config> <session-timeout>30</session-timeout> </session-config>
4、过滤器的设置 <filter> <filter-name>FilterSource</filter-name> <filter-class>project4. FilterSource </filter-class> </filter> <filter-mapping> <filter-name>FilterSource</filter-name> <url-pattern>/WwwServlet</url-pattern> (<url-pattern>/haha/*</url-pattern>) </filter-mapping>

Tomcat简介

Tomcat简介

Tomcat简介Tomcat是⼀款我们平时开发过程中最常⽤到的Servlet容器。

本系列博客会记录Tomcat(以Tomcat 7为列)的整体架构、核⼼组件、IO线程模型、请求在Tomcat 内部的流转过程以及⼀些Tomcat调优的相关知识点。

⼒求能达到以下⼏个⽬的:更加熟悉Tomcat的⼯作机制,⼯作中遇到Tomcat相关问题能够快速定位,从源头来解决;对于⼀些⾼并发场景能够对Tomcat进⾏调优;通过对Tomcat源码的分析,吸收⼀些Tomcat的设计的理念,应⽤到⾃⼰的软件开发过程中。

1. 什么是Tomcat是⼀款Apache下⾯的开源的Servlet容器,实现了对Servlet和JSP规范的⽀持。

另外 Tomcat 本⾝内含了⼀个 HTTP 服务器,所以也可以被当作⼀个 Web 服务器来使⽤。

但是Tomcat作为⼀个Web服务器,它对静态资源的处理能⼒要⽐Apache或者Nginx这类的Web服务器差很多,所以我们经常将Apache和Tomcat(或者是Nginx和Tomcat)组合使⽤,Apache来充当Web服务器处理静态资源的请求,Tomcat充当Servlet容器来处理动态请求。

Web服务器和应⽤服务器Web服务器,是指⼀台在互联⽹上具有独⽴IP地址的⾼性能计算机,可以向互联⽹上的⽤户提供“WWW(万维⽹)、Email(电⼦邮件)和FTP(⽂件传输)”等各种互联⽹服务。

根据Web服务器提供的服务类型的不同,Web服务器⼜可以分为Http服务器,Email服务器和FTP服务器等。

⼀般的Web服务器只提供页⾯浏览,⽂件下载和邮件等服务。

如果要产⽣⼀些动态的响应,Web服务器⼀般不会⾃⼰处理,⽽是会委托给⼀些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets和ASP(Active Server Pages)等脚本。

这些能处理动态响应的服务器就称为应⽤服务器。

tomcat+APACHE参数解释

tomcat+APACHE参数解释
节点2
节点3
节点4
1
2
3
0
而集群方式也是使用这种方法进行平衡。Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制。
worker.server202.host=192.168.11.202
worker.server202.type=ajp13
worker.server202.lbfactor=1
worker.server202.local_worker=1
worker.server202.cachesize=1000
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 请求分发配置,可以配置多项
JkMount /* loadbalancer
#关掉主机Lookup,如果为on,很影响性能,可以有10多秒钟的延迟。
6、Apache服务器的配置文件httpd.conf中,默认有三个参数对性能的影响比较大,但根据不同的性能要求,参数的表现又不一样,太小并发提不上去,太大性能反而不好,建议根据项目的需要,实际做个测试,如并发要求800的话,可以设定为:
#一个连接的最大请求数量
MaxKeepAliveRequests 1000(值为0,则不限制数量)
如果上面的sticky_session设为true时,建议此处也设为true,此参数表明如果集群中某台Tomcat服务器在多次请求没有响应后,是否将当前的请求,转发到其它Tomcat服务器上处理;此参数在sticky_session=true时,影响比较大,会导致转发到其它Tomcat服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。

Tomcat的发展简史

Tomcat的发展简史

长沙一度教育()为您解读Tomcat的发展简史:1 Tomcat的发展简史Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。

1.1发展历史1995年一个民间组织根据美国NCSA项目源代码,自行组织开发并发布了ApacheWebServer,该组织于1999年创建团体,称作ApacheSoftwareFoundation(ASF),意在进行开源项目的开发,供个人和公司免费使用。

Apache项目包括的子项目有:HTTPServer、APR、Jakarta、Perl、PHP、TCL、XML等,现在已经发展到43个。

Jakarta是ASF发起的Java子项目,Tomcat是Jakarta的子项目。

JakartaTomcat最初是为了JavaServlet技术而开发的,Servlet嵌入到特定的WebServer中,称作Servlet容器。

Sun 创建的第一个Servlet容器是JavaWebServer,与此同时,ASF组织创建了JServ,它是一个与Apache服务器集成的Servlet引擎。

1999年,Sun将JavaWebServer容器的源代码贡献给ASF,使Javaw曲Server和JServ 两个项目合并为Tomcat,Tomcat作为Sun的官方参考实现,也标志着它支持Servlet和JSP 的参考标准。

Tomcat第一个版本是3.x系列,完全支持Servlet2.2和JSPl.1标准,并且继承了Sun在1999年提供给ASF的源代码。

2001年Tomcat4.0发布,命名为Catalina,完全重新设计了架构和基础代码,Tomcat4.X系列实现了Servlet2.3和JSPl.2标准。

[Word]TOMCAT升级步骤

[Word]TOMCAT升级步骤

TOMCAT升级步骤1.tomcat5.5升级1.1 版本升级1)应用配合停止应用,右击我的电脑->管理->服务,找到tomcat5服务点击停止此服务即可。

2)找到tomcat安装目录,例如C:\Program Files\Apache Software Foundation\Tomcat 5.5,并能看到以下内容3)备份common和server文件夹下面的lib文件夹至common和server 目录下,例如4)网上(/)下载tomcat5.5.35完整源码包,格式为解压出来,进入tomcat5.5.35目录,例如:D:\补丁\apache tomcat\apache5\apache-tomcat-5.5.35,并且能看到以下内容5)分别进入安装目录(C:\Program Files\Apache Software Foundation\Tomcat 5.5)和补丁目录(D:\补丁\apache tomcat\apache5\apache-tomcat-5.5.35)的common目录下面的lib目录,并且能看到以下文件将补丁目录common/lib文件复制粘贴到安装目录common/lib下,提示win7下面点击复制和替换,windows 2003点击全部,将全部文件替换掉。

6)分别进入安装目录(C:\Program Files\Apache Software Foundation\Tomcat 5.5)和补丁目录(D:\补丁\apache tomcat\apache5\apache-tomcat-5.5.35)的common目录下面的lib目录,并且能看到以下文件将补丁目录server/lib文件复制粘贴到安装目录server/lib下,提示win7下面点击复制和替换,windows 2003点击全部,将全部文件替换掉。

7)应用配合启动应用,右击我的电脑->管理->服务,找到tomcat5服务点击启动此服务即可。

Tomcat安全

Tomcat安全

1 Tomcat安全1.1 背景介绍Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。

由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。

尽管Tomcat的Web服务器功能较少,但是,Tomcat容易架设、容易移植、与其他服务器兼容性极好,相对于其它以C、C++所编写的Web服务器,Tomcat比较能忍受远程缓冲区溢出的攻击。

因为Tomcat的Java虚拟机是位于网络及操作系统之间,它可以防止几乎所有类型的缓冲区溢出攻击。

此外,Tomcat的运行速度也比较快,足以运行今日大多数的企业网站。

因此,Tomcat服务器的应用也是极为广泛的。

在使用Tomcat服务器时,我们要避免错误的配置引起的安全问题,同时,也使用更合理的配置或插件来加强Tomcat的安全防护。

eCity平台定制化的Tomcat是基于apache-tomcat-6.0.18进行修改,在”..\工具\05 Tomcat 安全”中提供,修改内容都有批注,其它产品可以借鉴。

1.2 Tomcat安全配置规范Tomcat安全配置规范包括以下几部分1.2.1版本部署运行的策略1.2.1.1 及时更新补丁或升级系统,使用最新最稳定的安全版本说明:系统的最原始攻击来自其本身的漏洞,因此一定要做好其漏洞的防护。

搜索Tomcat最新最稳定的安全版本和安全补丁,下载并安装。

该规则主要针对发布版本,至于现网正在运行的版本,需要评估更新Tomcat版本对产品产生的影响,并酌情把握。

实施指导:下载最新最稳定的版本(以下提供的均为官方网址)1.在/whichversion.html上,查看Servlet和JSP规范对应的Tomcat版本,以及各版本的详细说明,以方便选择最合适的版本。

2.在/download-**.cgi上下载最新最稳定的安全版本。

Tomcat与Apache集成的研究

Tomcat与Apache集成的研究

nt a — n es t ab指令查看 8 t 0端 口号是 否已经被 占用 ,并将有关进 程关闭。若 安装成功 ,输入 ht:l a ot 以看到 A ah t /ol s可 p/c h p ce的
测试 页 面 。
()在 A ah 4 pc e服务器 的 m d l oue s目录下 放人 J K插 件文
电脑 编 程 技 巧 与 维 护

T m a 与 A ah 集成 的研 究 o Ct p ce
孙 仁鹏
( 南京信息职业技术学院计 算机 与软件学院 ,南京 204) 10 6

要 : 为 了提 升 网站 的访 问速 度和 提 高稳 定 性 ,提 出 了将 T m a 与 A ah o ct p ce集成 和 集群 的 解 决 方 案 。详 细 分析 了
软件开发与设计
到不 同性 能的服务器上 ,减 轻了单个 服务器 的压力 。
() 高 可 靠 性 :当 一 台 服 务 器 发 生 故 障 ,集 群 系统 会 自 5 动 把 作 任 务 转 交 给 别 的 服 务 器 ,对 用 户 提 供 透 明不 间 断 的 【
服务。
分发控制器等通信的参数 ,存放 在 cn of目录下 ,内容如下 : w re. tw rel舟指定连接 的 T m a 名单 ,多个 用逗 okri= okr 1 s o ct
d ti . eal s
Ke r s o a ; a h y wo d :T mc t Ap c e; ne r t n;C u tr I tg a i o ls e
既然 T m a 本 身 已经提供 了 H F o ct T P服务 ,为什 么还要 引 人与 A ah pc e或者其 他的一些专 门的 HI’ , P服务器集成 呢?原 ’ I

Linux搭建Apache+Tomcat环境(详细文档)

Linux搭建Apache+Tomcat环境(详细文档)

Linux搭建Apache+Tomcat环境使用手册(仅供内部使用)V1.0目录目录 (1)1 引言 (3)1.1 编写目的 (3)1.2 项目背景 (3)1.3 定义 (3)1.3.1 集群(Cluster) (3)1.3.2 负载均衡(Load Balance) (3)1.4 参考资料 (3)1.5 变更历史 (3)2 技术介绍 (3)2.1 技术目标 (3)2.2 网络架构 (3)2.3 软件架构 (4)3 客户端软件准备 (4)3.1 Tomcat: (4)3.2 Apache: (4)3.3 Jk: (4)4 测试环境规划 (4)4.1 Apache集群程序 (4)4.2 Tomcat1程序(内容+后台统一部署) (4)4.3 Tomcat2程序(内容+后台统一部署) (5)5 详细步骤 (5)5.1 安装JDK (5)5.1.1 jdk1.5.0_19 (5)5.1.2 配置环境变量 (6)5.1.3 测试Java是否安装成功 (6)5.2 安装Tomcat (6)5.2.1 Tomcat环境准备 (6)5.2.2 配置环境变量 (7)5.2.3 测试Tomcat是否安装成功 (7)5.2.4 部署工程项目 (7)5.3 安装Apache (7)5.3.1 apache环境准备 (8)5.3.2 httpd-2.2.12.tar.gz (8)5.3.3 测试Apache是否安装成功 (8)5.4 集群和负载均衡的配置 (9)5.5 修改httpd.conf (9)5.6 安装mod_jk.so (9)5.7 建立mod_jk.conf文件 (10)5.8 建立workers.properties文件 (10)5.9 建立uriworkermap.properties (11)5.10 综合测试Apache + Tomcat (11)6 总结 (12)6.1 绑定的域名 (12)6.2 编译出so文件 (12)6.3 设置Apache和Tomcat随系统启动而自动启动: (12)6.3.1 Red Hat的配置 (12)6.3.2 Ubuntu 的配置 (12)6.4 不足之处,见谅! (12)7 附录 (13)7.1 Tomcat集群与负载均衡区别以及特性 (13)7.2 ubuntu 配置开机启动vnc (15)1 引言1.1 编写目的本说明手册为了阐述Linux搭建Apache+Tomcat环境,并详细介绍Tomcat的集群和负载均衡配置而编写。

tomcat

tomcat
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访 问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当 在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实 际上Tomcat是Apache服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat时,它实际上作为一个与 Apache独立的进程单独运行的。
举个例子,如果我们想部署一个名叫MyWebApp.
(Virtual Hosts)
关于server.xml中“Host”这个元素,只有在设置虚拟主机的才需要修改。虚拟主机是一种在一个web服务 器上服务多个域名的机制,对每个域名而言,都好象独享了整个主机。实际上,大多数的小型商务网站都是采用 虚拟主机实现的,这主要是因为虚拟主机能直接连接到Internet并提供相应的带宽,以保障合理的访问响应速度, 另外虚拟主机还能提供一个稳定的固定IP。
tomcat
Web应用服务器
01 名称由来
0 配置方法 06 安全启动
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由 Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是 能在Tomcat中得到体现,Tomcat 5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定, 而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web应用服务器。
名称由来
Tomcat最初是由Sun的软件架构师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡 献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素 描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为 Tomcat(英语公猫或其他雄性猫科动物)。而O'Reilly出版的介绍Tomcat的书籍(ISBN 0-596-00318-8)的封 面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计为一只公猫。

Apache服务器和tomcat服务器

Apache服务器和tomcat服务器

1.Apache服务器和tomcat服务器Apache应用服务器之三:为什么Apache与Tomcat要整合/uid-21266384-id-186473.html一.Apache与Tomcat介绍Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML 处理的能力。

Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

由于有了Sun的参与和支持,最新的Servlet和JSP 规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet 2.4和JSP 2.0规范。

因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

二.为什么需要整合整合的最主要原因是为了在现有的硬件条件下提供最大的负载。

如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制;在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。

所以现在提出一个“整合”解决方案:将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache这个web server处理。

Apache与Tomcat各司其职,那么服务器的整体效率就能够得到提升。

三.整合的基本原理作为Apache下面的子项目,Tomcat 与Apache之间有着天然的联系。

ApacheTomcat版本说明

ApacheTomcat版本说明

ApacheTomcat版本说明⼀、Tomcat介绍注意:因为版本信息有失效性,本⽂记录时间为2021年1⽉20号,本⽂只是对官⽅说明的翻译以及添加⾃⼰的理解,请以官⽅⽂档为准。

Tomcat是由Apache软件基⾦会下属的Jakarta项⽬开发的⼀个Servlet容器,其为开源的、免费的,在应⽤服务器市场上占有较⾼的使⽤率。

不同版本的Tomcat要求符合不同版本的规范,Tomcat和相应规范映射关系如下:⽬前较为常⽤的为7/8/9三个⼤版本,之前版本已经不建议使⽤,最新的10.0版本还处于Beta版本,不建议在⽣产环境使⽤。

Apache建议使⽤最新的稳定版本。

如今,Tomcat各个⼤版本是同步更新的,如果⽆特殊需求,建议升级到指定⼤版本下的最新⼩版本即可。

⼆、版本类型(Alpha / Beta / Stable)Alpha 版本可能包含规范要求的⼤量未测试/缺失的功能和/或重⼤错误。

Beta 版本可能包含⼀些未经测试的功能或⼀些相对较⼩的错误。

Stable 稳定版本可能包含少量相对较⼩的 bug。

适合⽣产使⽤,能够长时间稳定运⾏。

三、版本号介绍Apache Tomcat 10.xApache Tomcat 10.x 是当前开发的焦点。

它基于 Tomcat 9.0.x,实现了 Servlet 5.0、 JSP 3.0、 EL 4.0、 WebSocket 2.0和认证2.0规范(Jakarta EE 9平台要求的版本)。

Apache Tomcat 9.xApache Tomcat 9.x 是当前开发的焦点。

它基于 Tomcat 8.0. x 和8.5. x,实现了 Servlet 4.0、JSP 2.3、EL 3.0、WebSocket 1.1和 JASPIC 1.1规范(javaee 8平台所需的版本)。

除此之外,它还包括以下重⼤改进:添加对 HTTP/2的⽀持(要求在 java9上运⾏(从Apache Tomcat 9.0.0. M18开始)或安装库。

apahe和tomcat的整合两种方法实验

apahe和tomcat的整合两种方法实验

apahe和tomcat的整合两种方法实验Linu某下apahe和tomcat的整合Apache和Tomcat同是Apache基金会下面的两个项目。

一个是HTTPWEB服务器,另一个是ervlet容器(ervletcontainer)。

在我们生产的环境中,往往需要Apache做前端服务器,Tomcat做后端服务器。

此时我们就需要一个连接器,这个连接器的作用就是把所有Servlet/JSP的请求转给Tomcat来处理。

在Apache2.2之前,一般有两个组件可选择:mod_jk和mod_jk2。

后来mod_jk2没更新了,转而更新mod_jk,所以现在一般都使用mod_jk做Apache和Tomcat的连接器。

不过,自从Apache2.2出来后,你又多了种选择,那就是pro某y-ajp。

大家知道Apache里的pro某y模块,可以实现双向代理功能,功能非常强大。

其实从连接器的实现原理上来说,用pro某y模块来实现是非常自然的。

pro某y模块的功能无非就是把相关的请求发给特定的主机再返回结果。

那连接器的功能需求就是要把所有对Servlet/JSP的请求都转给后台的Tomcat。

配置编译环境:yum-yintallgccgcc-c++lib某ml2lib某ml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncurencure-develcurlcurl-developenlopenl-develautoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devel安装:1.安装JAVA环境cpjdk-6u19-linu某-i586-rpm.bin/ur/local/cd/ur/local/chmod+某jdk-6u19-linu某-i586-rpm.bin./dk-6u19-linu某-i586-rpm.binyevi/etc/profileJAVA_HOME=/ur/java/defaultPATH=$JAVA_HOME/bin:$PATHCLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jare某portPATHJAVA_HOMECLASSPATHource/etc/profilejava-verion2.安装myqltarz某vfmyql-5.1.44.tar.gz./configure--prefi某=/ur/local/myql--with-charet=gbk--with-e某tra-charet=all--enable-thread-afe-client--enable-local-infile--with-low-memorymake&&makeintallgroupaddmyqlueradd-gmyqlmyql/ur/local/myql/bin/myql_intall_db--uer=myqlchown-Rroot.root/ur/local/myqlchown-Rmyql.myql/ur/local/myql/var/ur/local/myql/bin/myqld_afe--uer=myql&/ur/local/myql/bin/myqladmin-urootpaword\echo\ldconfigldconfig-vecho\3.安装apache./configure--prefi某=/ur/local/apache--enable-o--enable-mod-hared=mot--enable-rewrite=hare--enable-pro某y=hare--enable-pro某y-ajp=haremake&&makeintall/ur/local/apache/bin/apachectl-ktart4.安装tomcattarz某vfapache-tomcat-6.0.14.tar.gzmvapache-tomcat-6.0.14tomcatvi/ur/local/tomcat/bin/catalina.hJAVA_HOME=/ur/java/ defaultvi/etc/rc.d/rc.locale某portJDK_HOME=/ur/java/defaulte某portJAVA_HOME=/ur/java/default/ur/local/tomcat/bin/tartup.h5.安装phptarz某vfphp-5.2.5.tar.gz./configure--prefi某=/ur/local/php--with-ap某2=/ur/local/apache/bin/ap某--with-myql=/ur/local/myql/--with-config-file-path=/ur/local/php/--with-myql-ock=/tmp/myql.ock--enable-ocketmake&&makeintallDirectoryInde某inde某.htmlinde某.phpinde某.jpcd/ur/local/apache/htdocviinde某.phpPro某yPaRevere/ajp://127.0.0.1:8009/建立一个jp的测试文件cd/ur/loca/apache/htdoc/aaacatinde某.jpFirtPageTodayi:修改tomcat设置档文件在HOST段内,添加一行debug=\/ur/local/apache/bin/apachectl-kretart/ur/local/tomcat/bin/hutdown.h/ur/local/tomcat/bin/tartup .h测试整合是否成功:可以看出,当访问apache默认端口时,也能转到tomcat处理jp,这就证明apache和tomcat已经完成整合了。

Tomcat安装配置

Tomcat安装配置

Tomcat安装配置1.Tomcat简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。

由于有了Sun 的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范,也是现在比较流行的Web 应用服务器。

2.Tomcat安装2.1. Tomcat安装1、安装Tomcat之前要先进行JDK安装2、先下载Tomcat5.0客户端,然后选择应用程序进行安装,默认全部选择,如下所示:3、点击下一步,选择安装目录4、点击下一步,填写端口、用户名和密码5、点击下一步,选择JDK所在安装目录,点击Install开始安装2.2. Tomcat启动和终止在Tomcat安装目录D:\Program Files\Apache Software Foundation\Tomcat 5.0\bin找到启动程序startup.bat和终止程序shutdown.bat如下:2.3. Tomcat参数修改此处主要修改Tomcat字符集参数,避免所发布应用程序(如JSP页面)出现乱码现象。

1、先启动Tomcat,登录:http://localhost:8080/,进入Tomcat控制台2、点击左侧树状结构:Tomcat Administration,输入账号admin密码admin3、进入如下页面,依次点击Service(Catalina)→Connector(8080),修改页面右侧窗口中Use Body Encoding For URI Query Parameters的属性为True,按顺序点击按钮[save]保存,[Commit Changes]提交修改。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Apache+Tomcat+Mysql网站配置前言:公司开发了一个网站,估计最高在线人数是3万,并发人数最多100人。

开发的网站是否能否承受这个压力,如何确保网站的负荷没有问题,经过研究决定如下:(1)采用负载平衡和集群技术,初步机构采用Apache+Tomcat的机群技术。

(2)采用压力测试工具,测试压力。

工具是Loadrunner。

硬件环境搭建:为了能够进行压力测试,需要搭建一个环境。

刚开始时,测试在公司局域网内进行,但很快发现了一个问题,即一个脚本的压力测试结果每次都不一样,并且差别很大。

原来是受公司网络的影响,于是决定搭建一个完全隔离的局域网测试。

搭建后的局域网配置如下:(1)网络速度:100M(2)三台服务器:负载服务器:操作系统windows2003,Tomcat服务器:操作系统windows2000 Professional数据库服务器:操作系统windows2000 Professional三台机器的cpu 2.4 G, 内存 1G。

软件环境搭建:软件的版本如下:Apache 版本:2.054,Tomcat5.0.30,mysql :4.1.14.JDK1.5压力测试工具:Loadrunner7.8。

负载平衡方案如下:一台机器(操作系统2003)安装apache,作为负载服务器,并安装tomcat作为一个worker;一个单独安装tomcat,作为第二个worker;剩下的一台单独作为数据库服务器。

Apache和tomcat的负载平衡采用JK1.2.14(没有采用2.0,主要是2.0不再维护了)。

集群方案:采用Tomcat本身的集群方案。

在server.xml配置。

压力测试问题:压力测试后,发现了一些问题,现一一列出来:(1)采用Tocmat集群后,速度变得很慢。

因为集群后,要进行session复制,导致速度较慢。

Tomcatd的复制,目前不支持application 复制。

复制的作用,主要用来容错的,即一台机器有故障后,apache可以把请求自动转发到另外一个机器。

在容错和速度的考虑上,我们最终选择速度,去掉了Tomcat集群。

(2)操作系统最大并发用户的限制:为了采用网站的压力,我们开始的时候,仅测试Tomcat的最大负载数。

Tomcat服务器安装的操作系统是windows2000 Professional。

当我们用压力测试工具,并发测试时,发现只要超过15个并发用户,会经常出现无法连接服务器的情况。

经过研究,发现是操作系统的问题:windows2000 Professional 支持的并发访问用户有限,默认的好像是15个。

于是我们把操作系统全部采用windows2003 server版本。

(3)数据库连接池的问题:测试数据库连接性能时,发现数据库连接速度很慢。

每增加一些用户,连接性能就差了很多。

我们采用的数据库连接池是DBCP,默认的初始化为50个,应该不会很慢吧。

查询数据库的连接数,发现初始化,只初始化一个连接。

并发增加一个用户时,程序就会重新创建一个连接,导致连接很慢。

原因就在这里了。

如何解决呢?偶尔在 JDK1.4下的Tomcat5.0.30下执行数据库连接压力测试,发现速度很快,程序创建数据库连接的速度也是很快的。

看来JDK1.5的JDBC驱动程序有问题。

于是我们修改 JDK的版本为1.4.(4) C3P0和DBCPC3P0是Hibernate3.0默认的自带数据库连接池,DBCP是Apache开发的数据库连接池。

我们对这两种连接池进行压力测试对比,发现在并发300个用户以下时,DBCP比C3P0平均时间快1秒左右。

但在并发400个用户时,两者差不多。

速度上虽然DBCP比C3P0快些,但是有BUG:当DBCP建立的数据库连接,因为某种原因断掉后,DBCP将不会再重新创建新的连接,导致必须重新启动Tomcat才能解决问题。

DBCP 的BUG使我们决定采用C3P0作为数据库连接池。

调整后的方案:操作系统Windows2003 server版本JDK1.4Tomcat 5.0.30数据库连接池C3P0仅采用负载平衡,不采用集群。

软件的配置:Apache配置:主要配置httpd.conf和新增加的文件workers.propertiesHttpd.conf:#一个连接的最大请求数量MaxKeepAliveRequests 10000#NT环境,只能配置这个参数来提供性能<IfModule mpm_winnt.c>#每个进程的线程数,最大1920。

NT只启动父子两个进程,不能设置启动多个进程ThreadsPerChild 1900每个子进程能够处理的最大请求数MaxRequestsPerChild 10000</IfModule># 加载mod_jk#LoadModule jk_module modules/mod_jk.so## 配置mod_jk#JkWorkersFile conf/workers.propertiesJkLogFile logs/mod_jk.logJkLogLevel info#请求分发,对jsp文件,.do等动态请求交由tomcat处理DocumentRoot "C:/Apache/htdocs"JkMount /*.jsp loadbalancerJkMount /*.do loadbalancerJkMount /servlet/* loadbalancer#关掉主机Lookup,如果为on,很影响性能,可以有10多秒钟的延迟。

HostnameLookups Off#缓存配置LoadModule cache_module modules/mod_cache.soLoadModule disk_cache_module modules/mod_disk_cache.soLoadModule mem_cache_module modules/mod_mem_cache.so<IfModule mod_cache.c>CacheForceCompletion 100CacheDefaultExpire 3600CacheMaxExpire 86400CacheLastModifiedFactor 0.1<IfModule mod_disk_cache.c>CacheEnable disk /CacheRoot c:/cacherootCacheSize 327680CacheDirLength 4CacheDirLevels 5CacheGcInterval 4</IfModule><IfModule mod_mem_cache.c>CacheEnable mem /MCacheSize 8192MCacheMaxObjectCount 10000MCacheMinObjectSize 1MCacheMaxObjectSize 51200</IfModule></IfModule>worker. Properties文件## workers.properties ,可以参考::URL::/tomcat/connectors-doc/config/workers.html # In Unix, we use forward slashes:ps=\# list the workers by nameworker.list=tomcat1, tomcat2, loadbalancer# ------------------------# First tomcat server# ------------------------worker.tomcat1.port=8009worker.tomcat1.host=localhostworker.tomcat1.type=ajp13# Specify the size of the open connection cache.#worker.tomcat1.cachesize## Specifies the load balance factor when used with# a load balancing worker.# Note:# ----> lbfactor must be > 0# ----> Low lbfactor means less work done by the worker.worker.tomcat1.lbfactor=900# ------------------------# Second tomcat server# ------------------------worker.tomcat1.port=8009worker.tomcat1.host=202.88.8.101worker.tomcat1.type=ajp13# Specify the size of the open connection cache.#worker.tomcat1.cachesize## Specifies the load balance factor when used with# a load balancing worker.# Note:# ----> lbfactor must be > 0# ----> Low lbfactor means less work done by the worker.worker.tomcat1.lbfactor=2000# ------------------------# Load Balancer worker# ------------------------## The loadbalancer (type lb) worker performs weighted round-robin # load balancing with sticky sessions.# Note:# ----> If a worker dies, the load balancer will check its state # once in a while. Until then all work is redirected to peerworker.loadbalancer.type=lbworker.loadbalancer.balanced_workers=tomcat1,tomcat2## END workers.properties#Tomcat1配置:<!--配置server.xml去掉8080端口,即注释掉如下代码:--><Connectorport="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100"debug="0" connectionTimeout="20000"disableUploadTimeout="true" /><!--配置8009端口如下:--><Connector port="8009"maxThreads="500" minSpareThreads="400" maxSpareThreads="450"enableLookups="false" redirectPort="8443" debug="0"protocol="AJP/1.3" /><!--配置引擎--><Engine name="Catalina" defaultHost="localhost" debug="0" jvmRoute="tomcat1">启动内存配置,开发configure tomcat程序即可配置:Initial memory pool: 200 MMaxinum memory pool:300MTomcat2配置:配置和tomcat1差不多,需要改动的地方如下:<!--配置引擎--><Engine name="Catalina" defaultHost="localhost" debug="0" jvmRoute="tomcat2">启动内存配置,开发configure tomcat程序即可配置:Initial memory pool: 512 MMaxinum memory pool:768MMysql配置:Server类型:Dedicated MySQL Server MachineDatabase usage:Transational Database Only并发连接数量:Online Transaction Processing(OLTP)字符集:UTF8数据库连接池的配置:我们采用的是spring 框架,配置如下:<property name="hibernateProperties"><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop><prop key="hibernate.connection.url">jdbc:mysql://202.88.1.103/db</prop><prop key="ername">sa</prop><prop key="hibernate.connection.password"></prop><prop key="hibernate.show_sql">false</prop><prop key="e_sql_comments">false</prop><prop key="e_reflection_optimizer">true</prop><prop key="hibernate.max_fetch_depth">2</prop><prop key="hibernate.c3p0.max_size">200</prop><prop key="hibernate.c3p0.min_size">5</prop><prop key="hibernate.c3p0.timeout">12000</prop><prop key="hibernate.c3p0.max_statements">50</prop><prop key="hibernate.c3p0.acquire_increment">1</prop></props></property>其他的没有额外配置。

相关文档
最新文档