设为首页 收藏本站
查看: 799|回复: 0

[经验分享] Tomcat和apache的紧密结合

[复制链接]
发表于 2015-8-3 10:45:28 | 显示全部楼层 |阅读模式
Tomcat4.0.1最近刚刚发布,关于它如何集成在Apache中连Jakarta.apache.org的网站上还没有类似的文章,作者一拿到Tomcat4.0,便想着如何将这两个绝妙组合搭配在一起,因为Tomcat4.1支持jsp1.2和Servlet2.3,如果只把Tomcat作为一般调试程序用的工具的话,没有必要将它和Apache放在一起,但是如果作为商业用途来用的话,它的功能还略显单薄,所以我们需要一个强有力的Web服务器,为此,我选择了Apache。下面我就将这两者怎样结合写出来。
一、需要的软件:
1、Jdk1.3,这是所有Java程序必须的软件包
2、Apache Web Server 1.3以上,在http://www.52jsp.com可以下载 1.3.22,笔者就用它。
3、Mod_jk,这是Jakarta组织开发的使Apache支持Tomcat的插件,比ApacheJserv更强大,因为ApacheJserv只能用在Apache上,而不能用在别的WebServer 上,Mod_jk可以和很多服务器搭配起来用。大家可以到
http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3/bin/win32/i386/处下载win32的mod_jk,也可以在http://www.52jsp.com下载。
4、Jakarta Tomcat4.0.1,这是Jakarta组织最新开发的支持Servlet2.3和jsp1.2的服务器。大家可以到http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.1/bin/ 处下载。
5、Jdk1.3,这是所有都必须的
二、安装:
1、安装Jdk,我将它安装到e:\jdk1.3下
2、安装Apache,安装它没有什么可说的,一路回车,不要忘了记住它的安装路径,我安装在E:\apache下。
3、安装Mod_jk,只要将下载的mod_jk.dllcopy到安装Apache目录下的libexec下就可以了。
4、安装Tomcat,下载的Win32版本是一个exe文件,没什么可说的,我将它安装在E:\Apache Tomcat 4.0这个目录下。
三、 配置
1、 首先,配置Jdk1.3,在你的环境变量里将JAVA_HOME设为E:\jdk1.3,具体做法为,WinNT/2000: 我的电脑?>属性?>高级?>环境变量,增加一个,值设为E:jdk1.3。如果为Win9X,那么手动修改Autoexec.bat增加Set JAVA_HOME=E:\jdk1.3,重启机器使设置生效。
2、 配置Apache,修改Httpd.conf,增加的内容如下:
LoadModule jk_module libexec/mod_jk.dll
AddModule mod_jk.c
JkWorkersFile "E:\Apache Tomcat 4.0\conf\workers.properties"
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
对于上面的配置我简单介绍一下,JkWorkersFile使指定mod_jk工作所需要的工作文件,JkMount后面是将所有和jsp和servlet的请求通过Apj13的协议送给Tomcat,让Tomcat来处理。
3、 在E:\Apache Tomcat4.0\conf目录下建一个worker.properties,如果你要是用过Tomcat3.2以上,将它里面的workers.properties拷贝过来也可以,但是要做相应的修改,workers.properties内容如下:
# $Header: /home/cvs/jakarta-tomcat/src/etc/Attic/workers.properties,v 1.3.2.2 2000/10/16 01http://www.trucy.org/bbs/html/emoticons/laugh.gif22 larryi Exp $
# $Revision: 1.3.2.2 $
# $Date: 2000/10/16 01http://www.trucy.org/bbs/html/emoticons/laugh.gif22 $
#
#
# workers.properties -
#
# This file provides jk derived plugins with with the needed information to
# connect to the different tomcat workers.
#
# As a general note, the characters $( and ) are used internally to define
# macros. Do not use them in your own configuration!!!
#
# Whenever you see a set of lines such as:
# x=value
# y=$(x)something
#
# the final value for y will be valuesomething
#
# Normaly all you will need to modify is the first properties, i.e.
# workers.tomcat_home, workers.java_home and ps. Most of the configuration
# is derived from these.
#
# When you are done updating workers.tomcat_home, workers.java_home and ps
# you should have 3 workers configured:
#
# - An ajp12 worker that connects to localhost:8007
# - An ajp13 worker that connects to localhost:8009
# - A jni inprocess worker.
# - A load balancer worker
#
# However by default the plugins will only use the ajp12 worker. To have
# the plugins use other workers you should modify the worker.list property.
#
#
#
# workers.tomcat_home should point to the location where you
# installed tomcat. This is where you have your conf, webapps and lib
# directories.
#
workers.tomcat_home=E:\Apache Tomcat 4.0
#
# workers.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
#
workers.java_home=e:\jdk1.3
#
# You should configure your environment slash... ps= on NT and / on UNIX
# and maybe something different elsewhere.
#
ps=\
# ps=/
#
#------ ADVANCED MODE ------------------------------------------------
#---------------------------------------------------------------------
#
#
#------ DEFAULT worket list ------------------------------------------
#---------------------------------------------------------------------
#
#
# The workers that your plugins should create and work with
#
worker.list=ajp12, ajp13

#
#------ DEFAULT ajp12 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
#
#
# Defining a worker named ajp12 and of type ajp12
# Note that the name and the type do not have to match.
#
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
#
# 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.ajp12.lbfactor=1
#
#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
#
#
# Defining a worker named ajp13 and of type ajp13
# Note that the name and the type do not have to match.
#
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
#
# 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.ajp13.lbfactor=1
#
# Specify the size of the open connection cache.
#worker.ajp13.cachesize
#
#------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------
#---------------------------------------------------------------------
#
#
# The loadbalancer (type lb) workers perform wighted 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 peer
# workers.
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13

#
#------ DEFAULT JNI WORKER DEFINITION---------------------------------
#---------------------------------------------------------------------
#
#
# Defining a worker named inprocess and of type jni
# Note that the name and the type do not have to match.
#
worker.inprocess.type=jni
#
#------ CLASSPATH DEFINITION -----------------------------------------
#---------------------------------------------------------------------
#
#
# Additional class path components.
#
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
#
# The XML parser provided with Tomcat
#
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar
#
# Tomcat`s implementation
#
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar
#
# Javac as available from Java2SE
#
worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar
#
# Setting the command line for tomcat
# Note: The cmd_line string may not contain spaces.
#
worker.inprocess.cmd_line=-config
worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml
worker.inprocess.cmd_line=-home
worker.inprocess.cmd_line=$(workers.tomcat_home)
#
# The JVM that we are about to use
#
# This is for Java2
#
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
#
# And this is for jdk1.1.X
#
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll
#
#
# Setting the place for the stdout and stderr of tomcat
#
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
#
# Setting the tomcat.home Java property
#
worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
#
# Java system properties
#
# worker.inprocess.sysprops=java.compiler=NONE
# worker.inprocess.sysprops=myprop=mypropvalue
#
# Additional path components.
#
# worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin
#
对于这个文件,大家要修改只有两个地方,一个是workers.tomcat_home,这是指定Tomcat工作的目录,另外一个是workers.java_home,这是指定Jdk的目录,大家可以做适当修改。
4、 配置Tomcat,这可是比较重要的一步,成败在此一举。
大家打开Tomcat的核心配置文件E:\Apache Tomcat4.0\conf\server.xml
修改如下:


的 去掉,这句话熟悉XML的人都知道它是注释,因为默认的Tomcat4是没有启用Apj13的8009的端口即mod_jk所使用,修改后如下:

然后保存,现在你的Tomcat和Apache的配置基本完成了。下面我们开始测试。
四、 测试:
大家首先启动Apache,然后在浏览器里输入http://localhost,如果能看到Apache的欢迎页面,那么恭喜您,第一步成功了。然后回到Tomca目录下运行startup.bat启动Tomcat,再打开浏览器输入:http://localhost:8080/ 如果看到可爱的Tomcat,那么恭喜您,Tomcat也没有问题,最后最重要的是Apache下可以解释jsp和Servlet,把下面的代码copy到文本编辑器中命名为hello.jsp,内容如下:








将它保存到E:\Apache\htdocs下,然后在浏览器里输入http://localhost/hello.jsp
如果看到了Hello,那么您的确成功了,完成了通向jsp和servlet的第一步。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93615-1-1.html 上篇帖子: Apache+Sendmail+OpenWebMail笔记 下篇帖子: Apache 开启 GZip 压缩
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表