如何利用ApacheTomcat配置JSP开发环境.doc_第1页
如何利用ApacheTomcat配置JSP开发环境.doc_第2页
如何利用ApacheTomcat配置JSP开发环境.doc_第3页
如何利用ApacheTomcat配置JSP开发环境.doc_第4页
如何利用ApacheTomcat配置JSP开发环境.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

如何利用Apache+Tomcat配置JSP开发环境配置前的准备 (一)准备一个测试用的JSP网页 打开文本编辑器,比如记事本,输入下列代码,并保存为test .jsp(注意扩展名为.jsp)。 HTML HEAD TITLEJSP测试页面/TITLE /HEAD BODY %out.println(h1Hello World! /h1);% /BODY /HTML (二)安装J2SDK 不管哪种方案,在安装和配置JSP引擎之前必须先完成J2SDK的安装。 1、安装J2SDK 在Windows下,直接运行下载的j2sdk-1_4_1_01-windows-i586.exe文件,根据安装向导安装到一个目录,例如安装到f:j2sdk 1.4.1; 2、 添加环境变量 (1)如果你的操作系统是Win 98,可以用记事本直接编辑Autoexec.bat,添加下面命令行: PATH=PATH%;f:j2sdk1.4.1bin SET JAVA_HOME=f:j2sdk1.4.1 SET CLASSPATH=f:j2sdk1.4.1libtools.jar 保存后,重新启动计算机,这样所添加的环境变量才会有效。 (2)如果你的操作系统是Win2000,那么按如下方式配置环境变量。右键单击我的电脑,在弹出菜单中选择属性系统特性 高级 环境变量, 弹出环境变量对话框,就可以编辑系统的环境变量了。添加PATH、JAVA_HOME和CLASSPATH三个变量,变量值同上。 JSP环境的配置方案 (一)方案一:J2SDKTomcat 在这种方案里Tomcat既作为JSP引擎又作为Web服务器,配置比较简单。 1、安装Tomcat 直接运行下载的jakarta-tomcat-4.0.1.exe,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找J2SDK的位置。例如安装到f:tomcat4。 2、配置Tomcat的环境变量 添加一个新的环境变量TOMCAT_HOME,变量值为f:tomcat4,添加方法同J2SDK环境变量的配置方法。 3、测试默认服务 设置完毕后就可以运行Tomcat服务器了。用f:tomcat4binstartup.exe启动Tomcat,用f:tomcat4binshutdown.exe关闭。(如果在执行startup.exe或shutdown.exe的时候提示Out of Environment Space错误,选择DOS 窗口的菜单中的属性 内存 常规内存, 把初始环境由自动修改成2816就可以了。) 启动Tomcat后,打开浏览器,在地址栏中输入http:/localhost:8080(Tomcat默认端口为8080),如果在浏览器中看到Tomcat的欢迎界面,表示Tomcat工作正常。 4、测试项目 把刚才准备好的test.jsp放在f:Tomcatwebappsexamplesjsp目录下, 在地址栏中输入http:/localhost:8080/examples/jsp/test.jsp,如果浏览器中显示Hello World!,则说明你的JSP环境配置成功了! 由于Tomcat本身具有web服务器的功能,因此我们不必安装Apache,当然它也可以与Apache集成到一起,下面介绍。实例讲解Apache+tomcat+ssl配置我的运行环境:Windows2003 Server SP4 + J2SDK1.5.0 + Apache2.0.54 + Tomcat5.5.9 *准备软件: 1、安装 Apache 2.0.54 2、Tomcat 5.5.14 3、Jk2连接器(mod_jk2.so) 一:配置Apache和tomcat Apache安装在d:Apache2 下,监听端口 80; Tomcat在D:Tomcat51 下,监听端口 8080; 两者都以windows 2000服务进行安装。 将mod_jk2.so复制到d:Apache2modules目录下: 1.编辑d:Apache2confhttpd.conf文件,在LoadModule那一段代码中添加: LoadModule jk2_module modules/mod_jk2.so 2.将AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset GB2312 使Apache自动支持中文显示; 3.在“虚拟主机配置代码段”中添加:(此段配置可以根据你的实际情况进行修改) ServerAdmin DocumentRoot d:/ Tomcat51/webapps/jsp-examples ServerName localhost ErrorLog logs/error_log CustomLog logs/access_log common *编写perties文件并加入d:Apache2conf目录,内容如下: # Usually commented out on production environmentslogger.apache2file=”D:/Apache2/logs/error.log”level=ERROR# Provide the basic config neededconfigfile=D:/Apache2/conf/pertiesdebug=1# Provide the location of shm file on the Apache web servershmfile=D:/Apache2/conf/jk2.shmsize=1000000channel.socket:localhost:8009port=8009host=localhost#define the workerajp13:localhost:8009channel=channel.socket:localhost:8009# Map the Tomcat examples webapp to the Web server uri spaceuri:/jspexamples/*uri:/*.jsp *编写一个jsp文件(sessiontest.jsp),放在d:Tomcat51webappsjsp-examples 下; 重新启动以后,启动apache和tomcat,访问http:/localhost/jsp-examples/sessiontest.jsp可以访问。 二Tomcat配置上ssl步骤: 1. 生成服务器证书server02.jks和客户端证书dwp.p12 2、把server02.jks放到conf目录下, 打开d: tomcat51confserver.xml 文件, 然后修改server.xml文件,将注释掉的内容的注释去掉和增加证书存放的位置:如下: 注:server02.jks是证书存贮文件 3. 安装客户端证书dwp.p12 3. 修改Tomcat配置,使其自动启用SSL 打开d:testtomcat51webappsjsp-examplesWEB_INFweb.xml 文件,在security-constraint 标签下,增加如下内容: Constrain the user data transport for the whole application CONFIDENTIAL注释掉标签下的内容 tomcat role1 在web-resource-collection 标签下,增加如下内容: /* 重新启动Apache和tomcat, 访问 http:/localhost/jsp-examples/sessiontest.jsp是可是访问的,这是系统提示用户出示证书,启用SSL加密通道,SSL建立后,返回结果。URL变为https:/localhost:8443/jsp-examples/sessiontest.jspapache tomcat配置apache安装目录为APACHE_HOME tomcat安装目录为TOMCAT_HOME (要设到环境变量中) jdk安装目录为JAVA_HOME(要设到环境变量中) 1.安装apache:(假定安装目录为APACHE_HOME,根据你实际安装自行替换) 废话不多说,安装后修改APACHE_HOME/CONF/httpd.conf 以下6个地方: 1) Port 8080 或者80 随你 2) ServerName localhost 3) DocumentRoot e:/www (为了发布方便,不如自己建个目录作为文档根) 4) 把原来的改为 5) 添加index.jsp为缺省的主索引文件 DirectoryIndex index.html index.jsp 6) 这是最关键一步,在httpd.conf最后加上 #tomcat支持 include TOMCAT_HOME/conf/mod_jk.conf-auto 只需要这一句就够了,别听那些白痴的话,加上什么tomcat-apache.conf,那没用. 把mod_jk.dll拷贝进APACHE_HOME/module目录 这会先不管apache了,来设置tomcat3.2 步骤: 把tomcat解压缩,将它真正的目录jarakar-tomcat拷贝到你要的目录名TOMCAT_HOME 修改TOMCAT_HOME下的conf目录中的server.xml 1) 如果你不想看TOMCAT启动信息,这么做: 增加一个PATH=logs/tomcat.log 就可以了 2) 让tomcat改到8081上,一般来说www服务在80或者8080上: 3)增加APJ13协议支持 就放在原来的APJ12连接器后面就可以了 4)配合APACHE修改文档根目录 5)为了用例子测试,还得改一下EXAMPLES的CONTEXT: 要使用MOD_JK还得改一下同一目录下的WORKERS.PROPERTIES文件: 1) workers.tomcat_home=TOMCAT_HOME 2) workers.java_home=JAVA_HOME 3) ps= 我爱windows 赫赫 现在ok了,开始启动! 别慌,还有启动顺序问题,注意啊,先启动tomcat让它自己修改一下配置,第一次一定 要先tomcat,以后除非修改tomcat的设置,都可以先启动apache了。 ok 来启动tomcat:运行TOMCAT_HOME/bin下面的startup.bat 看到:Startting tomcat. Check logs/tomcat.log for error messages.那就对了 再来检查tomcat的情况 先随便在e:www里面放个index.jsp文件,内容是 JAVA天堂 用浏览器打开http:/localhost:8081 如果看到上面的话出现,那么根文档就成功了,再来用例子测试一下,用浏览器打开: http:/localhost:8081/examples/jsp 运行猜数字游戏,如果正确了,说明咱们的examples上下文也关联正确。这就简单了。 剩下就是运行apache了 运行apache,看到这么一行: Apache/1.3.14 (win32) with mod_jk running.那就对了 再来测试它们的组合,用浏览器打开http:/localhost:8080(我假设你用8080端口,如 果是80端口,那就用http:/localhost 还是看到那句“啊哈!jsp第一次运行!” 这就说明apache和tomcat连上了通过apache+tomcat配置网站整合Apache+Tomcat 下载到/tmp: httpd-2.0.50.tar.gz jakarta-tomcat-5.0.27.tar.gz jakarta-tomcat-connectors-jk2-src-current.tar.gz j2sdk-1_4_2_05-linux-i586.bin #cd /usr/local#mkdir apache2#cp /tmp/httpd-2.0.50.tar.gz /usr/local/apache2#cd apache2#tar xvf httpd-2.0.50.tar.gz #cd httpd-2.0.50 #./configure -with-layout=Apache2 -prefix=/usr/local/apache2 -enable-so #make #make install .修改apache的http.conf ServerName name OfYourServer Group nogroup(要增加这个组) # cd /usr/local/apache2/bin #./apachectl start 启动apache (./apachectl stop 停止) 如果成功,通过浏览器就可以看到Apche的默认主页了 http:/ServerIp (httpd l 可以列出已经加载的模块) 安装JDK #cd /usr/local#mkdir java#cp /tmp/j2sdk-1_4_2_05-linux-i586.bin /usr/local/java#cd java#sh j2sdk-1_4_2_05-linux-i586.bin#pico /root/.bash_profile 把原来内容改为JAVA_HOME=/usr/local/java/j2sdk1.4.2_05CALSSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/libPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/binBASH_ENV=$HOME/.bashrcUSERNAME=rootexport USERNAME BASH_ENV JAVA_HOME CLASSPATH PATH 有了这两个变量,Tomcat才能安装. #cp /tmp/jakarta-tomcat-5.0.27.tar.gz /usr/local/#cd /usr/local/#tar zxvf jakarta-tomcat-5.0.27.tar.gz#pico /root/.bash_profile把原来内容改为JAVA_HOME=/usr/local/java/j2sdk1.4.2_05CALSSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/libPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/binCATALINA_HOME=/usr/local/jakarta-tomcat-5.0.27 CATALINA_BASE=/usr/local/jakarta-tomcat-5.0.27BASH_ENV=$HOME/.bashrcUSERNAME=root export USERNAME BASH_ENV JAVA_HOME CLASSPATH CATALINA_HOME CATALINA_BASE PATH #cd /usr/local/tomcat/bin #./startup.sh 启动tomcat# cd /usr/local/apache2/bin #./apachectl restart通过浏览器 http:/SeverIP:8080 看到了一只猫!(port 8080 是Tomcat的默认端口) 安装connector JK2 如果以上安装顺利的话,继续安装connector吧 #cp /tmp/jakarta-tomcat-connectors-jk2-src-current.tar.gz#cd /usr/local#tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz #cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2 #./buildconf.sh #./configure&-with-apxs2=/usr/local/apache2/bin/apxs& make make install (如果不成功,把mod_jk2.so&拷贝到Apache得modules下) #cp jk/build/jk2/apache2/mod_jk2.so /usr/local/apache2/modules 还有一个jkjni.so&,说是用来启动Apache 时自动启动Tomcat的,如果就也拷贝吧.我没有看到! #cp jk/build/jk2/apache2/jkjni.so /usr/local/apache2/modules 整合步入正题了,整合涉及到了4个配置文件 Apache 的 httpd.conf 和 perties (创建) Tomcat 的 server.xml 和 perties (不过这两个文件,我没改过也成功了) httpd.conf 在Apache中添加mod_jk2.so模块: LoadModule jk2_module modules/mod_jk2.so perties: 这是我的perties # Example socket channel, override port and host channel.socket:localhost:8009 port=8009 host= # define the worker ajp13:localhost:8009 channel=channel.socket:localhost:8009 # Uri mapping uri:/jsp-examples/* worker=ajp13:localhost:8009 好了,重启Apache和Tomcat http:/ServerIp/jsp-examples 如果看到的效果和 http:/ServerIp:8080/jsp-examples 一样就说明整合成功. 开机时自动启动http和tomcat#cd /etc/init.d#touch httpd#pico httpd以下为内容#!/bin/bash# Startup script for the Apache Web Server# chkconfig: - 85 15# description: Apache is a World Wide Web server. It is used to serve # HTML files and CGI.# processname: httpd# pidfile: /var/run/httpd.pid# config: /etc/httpd/conf/httpd.confLD_LIBRARY_PATH=/usr/local/java/j2sdk1.4.2_05/jre/lib/i386:/usr/local/java/j2sdk1.4.2_05/jre/lib/i386/serverexport LD_LIBRARY_PATHCATALINA_BASE=/usr/local/jakarta-tomcat-5.0.27export CATALINA_BASECATALINA_HOME=/usr/local/jakarta-tomcat-5.0.27export CATALINA_HOMEAPACHE_HOME=/usr/local/apache2export APACHE_HOMEJAVA_HOME=/usr/local/java/j2sdk1.4.2_05export JAVA_HOMEPROFILEDIR=/var/runcase $1 instart)if -f $PROFILEDIR/Tomcat5_Apache2 ; thenecho Running Tomcat5_Apache2elseif -f $CATALINA_HOME/bin/startup.sh ; thenif -f $APACHE_HOME/bin/apachectl ; then# $CATALINA_HOME/bin/startup.sh$CATALINA_HOME/bin/startup.sh startecho Startting Tomcat5# $CATALINA_HOME/bin/startup.sh startsleep 3echo Startting Apache2$APACHE_HOME/bin/apachectl start# echo .touch $PROFILEDIR/Tomcat5_Apache2elseecho Apache File Not Foundsfielseecho Tomcat File Not Foundsfifi;stop)if -f $PROFILEDIR/Tomcat5_Apache2 ; thenif -f $CATALINA_HOME/bin/shutdown.sh ; thenif -f $APACHE_HOME/bin/apachectl ; then$CATALINA_HOME/bin/shutdown.shecho Stopping Tomcat5sleep 3echo Stopping Apache2$APACHE_HOME/bin/apachectl stoprm $PROFILEDIR/Tomcat5_Apache2elseecho Apache File Not Foundsfielseecho Tomcat File Not Foundsfielseecho Not Running Tomcat5_Apache2fi;*)echo Usage; basename $0 start|stop 1&2exit 1;esacexit 0保存退出#chmod 755 httpd#chkconfig -add httpd#ntsysv把httpd那项选上重启linux OK!优化apache/tomcat配置近日不得不越那个代疱地钻研发布和发布系统管理和测试的相关问题。有充分证据表明现得绝大多数的apache/tomcat配置中,apache根本就是摆设,所有的响应负担,包括静态多媒体文件实际上是由tomcat 完成,而tomcat实际上是效率相当低的,大约是apache的十分之一。因此,没有达到集成两者的目的;但在优化配置本地基本成功,打算在网上测试服务器实际试行时,却碰到了martix现象:无可解释的不可重复的异常表现。看来,在tomcat/apache的配合上要动真格的,今天写的那份文章提示了一个现实的问题,apache根本就没有作用,更严重的是,107 和106上不匹配,107上甚至不能重复出106的配合。由于图片的量会不少,所以这是一个非常现实的问题。我想,目前唯一的办法就是下载到本地,参考可能参考的资料完整地进行一次配置。毕竟,现在的配置是几年前的,而且不是由我进行的。这里如果处理OK了,那么相信对于提供系统的处理能力和处理的速度,是大有益处的。.经过一天的奋斗,主要的时间在于重新在本地设备上安装所有相关的软件,包括本地的DNS服务器,没有这个没有办法测试虚拟主机解释。所以主要还是在晚上测试,深入钻研apache/tomcat的配合,基本搞清楚了两者的关系,确认原来的配置方式只是表面上成功,实际上完全由 tomcat完成所有应答,apache只是聋子的耳朵摆设。但是在本地完成所有测试,原封不动地准备在网上进行更新设置时,再次碰到Matrix 现象:出现了莫名其妙的差异;无法解释,自然消失。第一个差异就是,按照最新的理解,apache解释的多媒体路径与tomcat解释的页面路径是不同的,因此,必须在页面上修整两者,否则图片和多媒体就会因为路径不一而不能获取;而在原来设置中由于完全由tomcat解释,所以两者是相同的。这个设想的实验在本地非常成功,但是在网上,就完全相反,路径解释无论如何都是对的问题在于我在本地已经测试并修改了这个路径解释:老天爷,到底要那一个呢?而实际上,perties的过滤是完全一样的。这点如果还不算太怪的话,那么第二个差异就更怪了。首先是使用原来的httpd.conf总是在虚拟主机DocumentRoot上被禁止访问,在强行使用本地设置文件置换(由于路径一样,问题倒不算大)后就变得可以了。这条权作是未知的某处错误存在,那么随后就怪事连连了:无论是那个虚拟主机,统统只是解释到第一个虚拟主机的目录,换言之,虚拟主机完,全失效。把那个设置文件拿回本地测试却是一切正常。随后再次到网上测试,这次却是跟着正常了.原因不明,唯一的可能.似乎是firefox缓存一类.总之是笔糊涂帐。真是莫名其妙。但前者的图片必须改由apache解释是确证无疑的,否则,系统性能会过大消耗,静态大文件的处理,不是tomcat的长处。我们这个世界是一个物质物理世界,它的基本特征就是同质可重复性,整个现代科学都是建筑在这个基础上的。如果一旦碰到同质可重复性不能成立时,我的感觉就是俺是不是生活在Matrix里头了。续:今天在本地的测试得到了与远端同样的结果,至少看来重新象一个物质世界了! 目前唯一可能的解释,(不过也是解释得非常牵强的),就是firefox对于浏览过的网站或者出于加速的原因,有一些与过往的浏览器有很大不同的缓存策略。在以后的操作中要注意这一点。 这个

温馨提示

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

评论

0/150

提交评论