2022年Apache与Tomcat的安装与整合[归 .pdf
《2022年Apache与Tomcat的安装与整合[归 .pdf》由会员分享,可在线阅读,更多相关《2022年Apache与Tomcat的安装与整合[归 .pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Apache与 Tomcat 的安装与整合关键字 : apache tomcat Apache和 Tomcat的整合,原理及例子原理tomcat 为一个 jsp 的容器, apache为一个 web server , 两者之间通信通过worker进行(由 Tomcat使用 Server.xml文件中 Connector 的标签来定义其端口和协议),通过 mod_jk 的模块(由 web服务器像 apache、iis等使用)和 Web Server通信。通信协议有很多,其中jk2 已经被抛弃了,现在就用jk 就好了。整个过程其实就是让apache的 httpd.conf文件调用 mod_jk.c
2、onf , mod_jk.conf调用 workers.properties,最后配置虚拟主机。文件说明mod_jk.conf 主要定义 mod_jk 模块的位置以及 mod_jk 模块的连接日志设置,还有定义worker.properties文件的位置。worker.properties 定义 worker 的参数,主要是连接tomcat 主机的地址和端口信息。如果Tomcat与 apache 不在同一台机器上, 或者需要做多台机器上tomcat 的负载均衡只需要更改 workers.properties文件中的相应定义即可。第一部分:安装配置tomcat apache mod_jk j2s
3、dk 准备下载下列文件Jdk1.4.2_08 (1.5 也可以,把 JRE装在 JDK目录下)下载地址 : http:/ tomcat 5.0.28 下载地址: http:/jakarta.apache.org apache 2.0.53 下载地址 : http:/httpd.apache.org mod_jk-1.2.10-apache-2.0.53.so(根据 Apache版本决定)下载地址: http:/archive.apache.org/dist/jakarta/tomcat-connectors/ 把上面所有组件都安装到D:Server目录下,这样也方便日常管理配置和将来移植到别的
4、服务器上去。1:安装 j2sdk 安装到 D:serverj2sdk 目录下,注意安装成系统服务2: 安装 tomcat 安装到目录下,注意安装成系统服务可能遇到的问题问题 1: 在解析 JSP页面时,提示无法找到java compiler 请拷贝 j2sdklibtools.jar 到 tomcatcommonlib下面。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 18 页 - - - - - - - - - 使用 tomcat 作为 service启动后总是这样,
5、当然用startup.bat脚本启动倒是完全正常。主要原因分析起来是以service方式启动的 Tomcat无法读取JAVA_HOME 和 CLASS_PATH等环境变量。问题 2:如何解决通过服务方式启动tomcat 时 log 中提示ZoneInfo:d:serverj2sdklibziZoneInfoMappings(系统找不到指定的路径。) 从 d:serverj2sdkjrelib目录拷贝所有文件放到 d:serverj2sdklib ,jrelib 中的文件和 j2sdklib 中的文件没有一个重复的, 不用担心会覆盖掉j2sdklib 中原有的任何文件。3:安装 apache 到
6、 d:server (会自动生成 apache2文件夹)配置 index.jsp 为默认页配置 GB2312为默认语言不只 Apache的 httpd.conf中定义了默认页面文件,连Tomcat的 web.xml 配置文件的结尾处也定义了默认页面文件,而且Tomcat中定义的的优先级还高于原有的 Apache中所定义的默认页。4:加入 mod_jk 连接模块拷贝 mod_jk-1.2.10-apache-2.0.53.so 到 d:serverapache2modules 改名为 mod_jk.so 5: 修改 apache 的配置文件为了保持 httpd.conf文件的简洁,把 jk 模块
7、的配置放到单独的文件中来,就在httpd.conf中增加一行调用include D:serverApache2confmod_jk.conf 6:配置 mod_jk.conf 请注意使用绝对路径其实最关键的就是第一条 第二条 和最后一条,如果要精简,就保留这三条内容就可以了。# Load mod_jk module LoadModule jk_module modules/mod_jk.so # Where to find workers.properties JkWorkersFile conf/workers.properties # Where to put jk logs JkLogF
8、ile logs/mod_jk.log # Set the jk log level debug/error/info JkLogLevel info # Select the log format JkLogStampFormat %a %b %d %H:%M:%S %Y # JkOptions indicate to send SSL KEY SIZE,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 18 页 - - - - - - - - - JkOptions +
9、ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat %w %V %T # Send servlet for context /examples to worker named ajp13 #JkMount /servlet/* ajp13 # Send JSPs for context /examples to worker named ajp13 JkMount /*.jsp ajp13 上面这一行我们设置了了 /
10、*.jsp ajp13 就是说把所有 .jsp结尾的文件都由ajp13 这个 worker 交给 tomcat 处理了,如果应用被映射为一个.do 的 URL ,这样就会出错 . 解决方法是再添加如下一行:JkMount /*.do ajp13 7: 配置 apache2confworkers.properties worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost #本机,若上面 Tomcat主机不为 localhost,作相应修改worker.ajp13.type=ajp13 #类型worker.ajp1
11、3.lbfactor=1 #代理数,不用修改第二部分 : 虚拟主机的配置举例配置 2 个 vhost 网站 一个是 localhost ,另一个是 当然 是虚拟的,本地测试时,应该修改系统中的hosts 文件,添加一行 127.0.0.1 1:Apache 虚拟主机配置:Httpd.conf文件最后添加include D:serverApache2confvhost.conf 而 vhost.conf内容写NameVirtualHost *:80 ServerAdmin webmasterlocalhost DocumentRoot D:/server/Tomcat/webapps/ROOT
12、ServerName localhost ErrorLog logs/localhost-error_log 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 18 页 - - - - - - - - - CustomLog logs/localhost-access_log common ServerAdmin webmasterdummy- DocumentRoot D:/server/www/ ServerName ErrorLog logs/-error_log C
13、ustomLog logs/-access_log common # 这样我可以看到 apache 服务器状态SetHandler server-status Order deny ,allow Deny from all Allow from localhost Allow from 2:Tomcat虚拟主机配置添加新的 虚拟主机,在 tomcat 安装路径 confserver.xml的最后,找到段,改为 3:测试虚拟主机效果访问 http:/localhost/ 应该可以看到原来的tomcat 默认页面。写一个 index.jsp test jsp 名师资料总结 - - -精品资料欢迎下
14、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 18 页 - - - - - - - - - 放在 d:/server/www下面,访问 http:/ 页面显示 Hello World! 就成功了第三部分,部分相关性能优化及其它问题如何使用 server 版 jvm ?Jvm动态库有 client和 server 两个版本, 分别针对桌面应用和服务器应用做了相应的优化, client版本加 载速度较快, server 版本加载速度较慢但运行起来较快。在开始菜单 tomcat5 -tomcat config的
15、java 属性中 有一项 jvm 路径 指向server 目录下的 jvm 就行了。更改默认 java.exe调用的 jvm.dll,这个由 jvm.cfg决定。编辑%JAVA_HOME%jrelibi386jvm.cfg 里面第一行写的是 -client 默认就是 client版本 ,把第二行的 -server KNOWN 放到第一行,如下面所示-server KNOWN -client KNOWN -hotspot ALIASED_TO -client -classic WARN -native ERROR -green ERROR 改完保存,然后看看默认版本:C:java -versio
16、n java version 1.4.2_07 Java(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_HOME 与 CATALINA_HOME、 CLASSPATH ClassPath 网上有人说在 j2sdk1.3开始就不需要配置了,而本例中实际是不需要配置 JAVA_HOME和 CATALINA_HOME的,因为 tomcat 以 service模式启动根本不认你的
17、 java_home,当然为了让你能够在命令行运行startup.bat时也能顺利启动 Tomcat,可以配置也建议配置上JAVA_HOME 与 CATALINA_HOME,ClassPath就免了吧,连 Resin 都不需要这个了。有关路径设置bin; 放到最前,避免有多个jdk 时的很多问题关于 apache2 在 win 平台上的一个小问题可能 apache 的日志中常出现类似如下的提示error (730038)An operation was attempted on something that is not a 名师资料总结 - - -精品资料欢迎下载 - - - - - - -
18、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 18 页 - - - - - - - - - socket.: winnt_accept: AcceptEx failed. Attempting to recover. 这是由于 apache 使用了微软的 AcceptEx()调用的缘故,禁用掉即可,此问题只会出现在 win 平台且 apache 的 2.0.49 和更高版本上,出现错误的大概原因是防火墙和防病毒软件所导致,导致结果也有好几种,像apache 占用很高 cpu 资源或者网站页面无法打开。解决方法修改 d:serverapa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Apache与Tomcat的安装与整合归 2022 Apache Tomcat 安装 整合
限制150内