Apache与Tomcat的安装与整合_第1页
Apache与Tomcat的安装与整合_第2页
Apache与Tomcat的安装与整合_第3页
Apache与Tomcat的安装与整合_第4页
Apache与Tomcat的安装与整合_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Apache与Tomcat的安装与整合关键字:apache tomcatApache和Tomcat的整合,原理及例子原理tomcat为一个jsp 的容器,apache为一个 webserver,两者之间通信通过 worker 进行(由Tomcat使用Server.xml文件中Connector的标签来定义其端口和协 议),通过mod_jk的模块(由web服务器像apache、iis 等使用)和 WebServer 通信。通信协议有很多,其中jk2已经被抛弃了,现在就用jk就好了。整个过程其实就是让apache的httpd.conf 文件调用mod_jk.conf ,mod_jk.conf 调用

2、perties,最后配置虚拟主机。文件说明mod_jk.c onf主要定义modk模块的位置以及mod_jk模块的连接日志设置,还有定义 perties文件的位置。perties定义worker的参数,主要是连接tomcat主机的地址和端口信息。如果 Tomcat 与apache不在同一台机器上,或者需要做多台机器上tomcat的负载均衡只需要 更改perties 文件中的相应定义即可。第一部分:安装配置 tomcat apache mod_jk j2sdk准备下载下列文件Jdk1.4.2_08 ( 1.5也可

3、以,把JRE装在JDK目录下)下载地址:tomcat 5.0.28下载地址:apache 2.0.53下载地址:mod_jk-1.2.10-apache-2.0.53.so(根据 Apache 版本决定)下载地址:/dist/jakarta/tomcat-co nn ectors/把上面所有组件都安装到 D:Server目录下,这样也方便日常管理配置和将来移 植到别的服务器上去。1:安装 j2sdk安装到D:serverj2sdk目录下,注意安装成系统服务

4、2:安装 tomcat安装到目录下,注意安装成系统服务可能遇到的问题问题1:在解析JSP页面时,提示无法找到java compiler 请拷贝 j2sdklibtools.jar至U tomcatcommonlib 下面。使用 tomcat 作为 service 启动后总是这样,当然用 startup.bat 脚本启动倒是 完全正常。主要原因分析起来是以 service 方式启动的 Tomcat 无法读取 JAVA_HOM和CLASS_PAT等环境变量。问题 2:如何解决通过服务方式启动 tomcat 时 log 中提示 ZoneInfo:d:serverj2sdklibziZoneInfoM

5、appings( 系统找不到指定的路 径。 )从 d:serverj2sdkjrelib 目录拷贝所有文件放到 d:serverj2sdklib , jrelib 中的文件和 j2sdklib 中的文件没有一个重复的, 不用担心会覆盖掉 j2sdklib 中原有的任何文件。3:安装 apache 到 d:server(会自动生成 apache2 文件夹)配置index.jsp为默认页 配置GB2312为默认语言不只Apache的httpd.conf 中定义了默认页面文件,连 Tomcat的web.xml配置 文件的结尾处也定义了默认页面文件,而且Tomcat中定义的的优先级还高于原有的Apac

6、he中所定义的默认页。4:加入 mod_jk 连接模块拷贝 mod_jk-1.2.10-apache-2.0.53.so 到 d:serverapache2modules 改 名为 mod_jk.so5: 修改 apache 的配置文件为了保持 httpd.conf 文件的简洁, 把 jk 模块的配置放到单独的文件中来, 就在 httpd.conf 中增加一行调用include D:serverApache2confmod_jk.conf 6:配置 mod_jk.conf请注意使用绝对路径其实最关键的就是 第一条 第二条 和最后一条,如果要精简,就保留这三条内 容就可以了。# Load mod

7、_jk moduleLoadModule jk_module modules/mod_jk.so# Where to find perties JkWorkersFile conf/perties # Where to put jk logs JkLogFile logs/mod_jk.log# Set the jk log level debug/error/info JkLogLevel info# Select the log formatJkLogStampFormat %a %b %d %H:%M:%S %Y # JkOptions ind

8、icate to send SSL KEY SIZEJkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories# JkRequestLogFormat set the request formatJkRequestLogFormat %w %V %T# Send servlet for context /examples to worker named ajp13#JkMount /servlet/* ajp13# Send JSPs for context /examples to worker named ajp13JkM

9、ount /*.jsp ajp13上面这一行我们设置了了 /*.jsp ajp13 就是说把所有 .jsp 结尾的文件都由 ajp13这个worker交给tomcat处理了,如果应用被映射为一个.do的URL这 样就会出错 . 解决方法是再添加如下一行:JkMount /*.do ajp137: 配置 perties worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost # 本机,若上面 Tomcat主机不为 localhost , 作相应修改worker.ajp13

10、.type=ajp13 # 类型 worker.ajp13.lbfactor=1 # 代理数,不用修改 第二部分 : 虚拟主机的配置举例配置 2 个 vhost 网站 一个是 localhost ,另一个是 当然 是虚拟的,本地测试时,应该修改系统中的 hosts 文件,添加一行 1 :Apache 虚拟主机配置:Httpd.conf 文件最后添加include D:serverApache2confvhost.conf而 vhost.conf 内容写NameVirtualHost *:80ServerAdmin webmasterlocalhostDocumentRoot

11、 D:/server/Tomcat/webapps/ROOTServerName localhostErrorLog logs/localhost-error_logCustomLog logs/localhost-access_log common ServerAdmin webmasterdummy-DocumentRoot D:/server/www/ServerName ErrorLog logs/-error_logCustomLog logs/-access_log common # 这样我可以看到 apache 服务器状态 SetHandler server-statusOrde

12、r deny ,allowDeny from allAllow from localhostAllow from 2:Tomcat 虚拟主机配置添加新的 虚拟主机,在 tomcat 安装路径 confserver.xml 的最后, 找到段,改为vHost name=” localhost ”3:测试虚拟主机效果访问 http:/localhost/ 应该可以看到原来的 tomcat 默认页面。写一个 index.jsptest jsp放在 d:/server/www 下面,访问 页面显示 Hello World! 就成功了第三部分,部分相关性能优化及其它问题如何使用 server 版 jvm

13、?Jvm 动态库有 client 和 server 两个版本, 分别针对桌面应用和服务器应用做了 相应的优化, client 版本加 载速度较快, server 版本加载速度较慢但运行起来 较快。在开始菜单 tomcat5 -tomcat config 的 java 属性中 有一项 jvm 路径 指向 server 目录下的 jvm 就行了。更改默认 java.exe 调用的 jvm.dll ,这个由 jvm.cfg 决定。编辑 JAVA_HOME%jrelibi386jvm.cfg里面第一行写的是 -client 默认就是 client 版本 ,把第二行的 -server KNOWN 放到第

14、一行, 如下面所示-server KNOWN-client KNOWN-hotspot ALIASED_TO -client-classic WARN-native ERROR-green ERROR改完保存,然后看看默认版本:C:java -versionjava version 1.4.2_07Java(TM) 2 Runtime Environment , Standard Edition (build 1.4.2_07-b05 )Java HotSpot (TM) Server VM (build 1.4.2_07-b05 , mixed mode)关于 JAVA_HOM与 CATAL

15、INA_HOMECLASSPATHClassPath 网上有人说在 j2sdk1.3 开始就不需要配置了,而本例中实际是不需 要配置JAVA_HOM和CATALINA_HOME,因为tomcat以service 模式启动根本 不认你的java_home,当然为了让你能够在命令行运行 startup.bat 时也能顺利 启动Tomcat,可以配置也建议配置上 JAVA_HOM与CATALINA_HOMlassPath 就免了吧,连 Resin 都不需要这个了。有关路径设置bin; 放到最前,避免有多个jdk时的很多问题关于 apache2 在 win 平台上的一个小问题可能 apache 的日志

16、中常出现类似如下的提示error (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.这是由于apache使用了微软的AcceptEx ()调用的缘故,禁用掉即可,此问题 只会出现在win平台且apache的2.0.49和更高版本上,出现错误的大概原因是 防火墙和防病毒软件所导致,导致结果也有好几种,像apache占用很高cpu资源或者网站页面无法打开。解决方法修改 d:serverapache2co

17、nfhttpd.conf中的 mpn部分ThreadsPerChild 250MaxRequestsPerChild 0Win32DisableAcceptEx # 添加这一行即可,做过压力测试,对性能影响很 小,可以忽略轻松实现Apache,Tomcat 集群和负载均衡0,环境说明Apache :apache_2.0.551个Tomcat: apache-tomcat-5.5.17 (zip版)2 个modk: mod_jk-apache-2.0.55.so 1个(我自己用的是 apache_2.2.11-win32-x86-no_ssl.msimod _jk-1.2.27-httpd-2.

18、2.10.soTomcat 6.0和 Tomcat 5.0)第一部分:负载均衡负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2.去处理1. 安装 apche,tomcat/ 下载 Apache 2.0.55/download-55.cgi下载 tomcat5.5 zip 版本(解压即可,绿色版)http:/apache.justd n. org/tomcat/tomcat-c onn ectors/jk/bi naries/wi n32/jk-1.2.15/ 下载mod_jk,

19、注意和apache版本匹配按照 jdk,我的路径为:E:ideapacheApache2解压两份 Tomcat,路径分别为 E:idetomcat1,E:idetomcat25.520Please see the README file for packaging information. It explains whaiBinary Distributions C匹CZp zip (E呂lboar. g忑(口孰 md5)c Wind。科吕 S巳rwicu In吕tellur (pgpj ndS) Depl oyer:o(pgPj md5)o tdr gz (pgp icid5) Embedd

20、ed:o zip (pgp, md5)o taa二名三(pgpj iod5) Adiriiriistration Web Application:c zip (pgpJ md5)o tar, gz gp, md5) JDK 1. 4 Compatability Package:o zi (pgp, md5)o tar, gz (pgrs md5) Document at ion (Already Included in Core Downloads):o tar.粪 (pgp, iod5)下载mod_jkApache TomcatApache Tomcat Hciir亡DownloadTomc

21、ats DownloadsWelcome to the Tomcat 5* x download page, all Tomcat release branches, as well as 1 Whixh 化rsicm? Tunic尽t 6 h TuincaJ: 5.工 Tomcat 4 1 TQuick NavigationKEYS | | 5 6 30-b叭曰 | 5. 0. | ArIiuuilimi jruuitii-iiaiuMiaiuiaii.iMiBi号匸匹Q空蔗g坦rg ArchivesRelease IntegrityIJrsl萄律萄r一萄You must verify th

22、e integrity of the dowi signature should be matched against the L o 血卫 a m llTlUtm Fi58m llTlU08-Nov-2O05小1尸 C fllTs ir i-bl &T.18Kisap 1 rediizec-Nov-2005 16:55均4isap i redirect .nisiD8-NOV-2005 15:42630Kisapi rediirect msi8-NOV-2005 16:5519电jk syrtibol3 . z ip8-Nov-2005 15:49552Xjk syniibols wip.曰

23、sc8-NOV-2005 16:5519吟imtjci .jk一 3.34-mapi . scia-Nov-20051621124Kitkj日 jk-Qp且chw-l *3 i so incid jk-apauh亡一 1 * 3 34.30itiuci jkapsic:h皀一1 - 3 - 3 4-日 - bisc:itiuci jst 匸 hg-2.0.55* so *0S-Nov-Z0058-NOV-200508-NOV-.2005-Nov-2005a-Nov-20051615S915:5515:5519124K194132K19408-NOV-20051616132Kn日曰匸il 匕亡d

24、iizEct; * di丄a&cSNov-20051655194Apache Toincnt JK 1.2*15 for WTN522.修改Apache配置文件http.conf叵区在 apache安装 目录下 conf目录中找至U http.conf在文件最后加上下面一句话就可以了in elude E:ideapacheApache2c on fmod_jk.c onfE httpd. conf -记事本文件观 编辑 格式Q)查看边 帮助tt UirtualHost example:tt Almost ant Apache directiue m白y go into a UirtualHos

25、t container -It The First UirtualHost section is used for requests without a knoun tt seruer name ttttttSeruerAdnin uebRasterduRmy-ttDocumentRoot /uuu/diocs/dummp-ttSeruerName du-host .example ,cointtErrorLog logs/dumm-host.exanplettCustomLog logs/dummy-hot.example.con-access_log commonit#加入下面一句话指定n

26、od_jk配,include E:ideapacheApache2confnod_jk.conf*2. http.conf 同目录下新建 modk.conf文件,内容如下 #加载 mod_jk ModuleLoadModule jk_module modules/mod_jk-apache-2.0.55.so# 指定 perties文件路径JkWorkersFile con f/perties#指定那些请求交给tomcat处理,controller为在pertise 里指定的负载分配控制器JkM ount /*.jsp con

27、trollerJkMou nt /*.do con troller3. 在http.conf 同目录下新建 perties 文件,内容如下 worker.list = con troller,tomcat1,tomcat2 #server列表#=tomcat1=worker.tomcat1.port=8009 #ajp13端口号,在 tomcat 下 server.xml配置,默认8009worker.tomcat1.host=localhost #tomcat 的主机地址,如不为本机,请填写 ip 地址worker.tomcat1.type=ajp13worker.to

28、mcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多#=tomcat2=worker.tomcat2.port=9009 #ajp13端口号,在 tomcat 下 server.xml配置,默认8009worker.tomcat2.host=localhost #tomcat 的主机地址,如不为本机,请填写 ip 地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多#=c on troller,负载均衡控制器=worker.co ntroller.type

29、=lbworker.c on troller.bala nced_workers=tomcat1,tomcat2 #指定分担请求的tomcatworker.co ntroller.sticky_sessio n=14. 修改tomcat配置文件server.xml如果你在不同电脑上安装tomcat,tomcat的安装数量为一个,可以不必修改tomcat配置文件我这里是在同一台电脑上安装两个tomcat,所以需要更改其中一个的设置打开 tomcat2/conf/server.xml文件自server, xb!-写字板文件世)编辑 查看 插入 格式辺 帮助DH ffl 2i #4 卜=亀%IP a

30、ddress of the rejnots client.要“帮助”请按n!- Hete : To use gzip compression you could set the following properties8080改为9(!- Define a non-SSL HTTP/1.1 Connector on port 8080 - 文件世)编辑 查看 插入 格式 帮助 I- Define a Proxied HTTP/1* 1 Conner 己述-1 口 为 900 t 要耀帮IT请按F15. 编写一个测试jsp建立一个目录test.里面新建一个test.jsp, 内容为把 test

31、放至U tomcat1,tomcat2 的 webapps下6. 启动 apache,tomcat1,tomcat2,进行测试通过 http:/localhost/test/test.jsp访问,查看 tomcat1 的窗口,可以看到打印了一行=再刷新一次,tomcat2也打印了一条,再刷新,可以看到请求会被tomcat1,tomcat2轮流处理,实现了负载均衡& ToBcatT omc atBS = S= N H = = 丘=N 尸=耳戶=N = H=_ZJOfflG 誌匸006-11-18 13:20:01 org-apache廿yot 息:Starting Coyote HTTP/1.1

32、 on ht 006-11-18 13-20:01 arg.apache.Jk.co 息丫: JK: ajpl3 listening oun Z0-0.0, 006-11-18 13 -2fcl-81 org.apanclie .Jk.&e 息昇 Jk running ID=0 time =8/47 coini006-11-18 13 = 2&-32 OFg.apache.catal 息、: Find registiy seryep-registiy,006-11-18 13:2&32 apg.apache.catal 息:Seruer startup in 2141 ns2006-1118

33、13 :22 :2 org.apaehe .catalina.cope .StandadHost start 信息:XML validation disabled2006-11-18 13 :22 :2? arg.apache .coi/ot;e .httpll .HttpllBaseProtoco 1 s 信息二 Start in srHTTP/1 al on http-90802006-1118 13-22:28 org.apdche.jk-coirnnon.Channe LSocket in It 信息:JK: ajpl3 listeningf on Z0,0.0.0:9009006-1

34、1-18 13:22-2B org.apache.jk.server.JkHaIn start信息:Jk rtunning ID=0 time =0/46 cornifig=null2006-11-18 13 :22 -2Bapache .atalln v% page import=java.util.* % vheadCluster App Test Server Info: % out.pri ntl n( request.getLocalAddr() + : + request.getLocalPort()+);%out.pri ntln ( ID + sessio n. getld()

35、+);/如果有新的Session属性设置Stri ng dataName = request.getParameter(dataName);if (dataName != n ull & dataName.le ngth() 0) String dataValue = request.getParameter(dataValue);session.setAttribute(dataName, dataValue);out.pri nt(Sessio n列表 );Enu meratio n e = sessio n.getAttributeNames();while (e.hasMoreElem

36、e nts() Stri ng n ame = (Stri ng)e. nextEleme nt();Stri ng value = sessio n.getAttribute( name).toStri ng();out.pri ntln( n ame + = + value+);System.out.pri ntl n( n ame + = + value);%名称:值:v/formv/body然后在test 新建 WEB-INF目录,WEB-INFT新建web.xml,内容如下 vweb-app xmlns= xmlns:xsi= /2001/XMLSch

37、ema-instaneexsi:schemaLocati on= http:/java.su n. com/xml/ns/j2ee 2 4.xsd version=2.4TomcatDemo注意:在你的应用的 web.xml加入 即可ok,讲 test 复制到 tomcat1,tomcat2 的 webapps下,重启 apache,tomcat1,tomcat2,输入网址 http:/localhost/test/test.jsp新建一个名称为xiaoluo , 值为cdut的session,提交查询,新开一个ie窗 口,再提交查询,如图,可以看到,两个 tomcat是负载均衡,并且sess

38、ion同 步的编辑 查看电收猴帮助QP后0 ”回团o搜素收藏夹-地址聽http: /I * c alho t/1 e t/ index. jisplJ值(ID 1B0870BBBAOA5A70A12E8D30BFE35DBESessi on 列表 xi aoluo = cdut bbb 二 bbb丄自17:18:12口晒、00&-11-1BI息信息:Replicatn nenber idde(l :/192*168.1.129: 01,cataline hbb - bbbxiao Luo cdut bbh = bbbca?naP5ToKcon9W?eBoSce&ourctie_cbb - bbbServer Info: null : 80也,: Stapting clustering manaj 006-1118 17:18 : 12 oig-apache Sessionsr产bn: Manager (/te&tJ, request mcast .McaLstMemJbei*Ltcp:/192. li 782 - This opeAtio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论