Apache与Tomcat整合的问题

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
头像
happybombman
帖子: 28
注册时间: 2005-06-20 1:32
联系:

Apache与Tomcat整合的问题

#1

帖子 happybombman » 2006-01-31 17:05

我安装了Apache 2.0.55和Tomcat 5.5,并且从http://www-devel.orcaware.com/packages/ubuntu/安装了mod_jk2,请问如何才能将Apache与Tomcat进行整合?
头像
happybombman
帖子: 28
注册时间: 2005-06-20 1:32
联系:

已经搞定

#2

帖子 happybombman » 2006-02-18 0:05

最近有点忙,所以这件事一直搁着,今天忙碌暂告一段落,所以就花了些时间整了一下这个上次没有解决的问题。由于ubuntu下apt安装的apache与自己编译安装的目录结构有很大区别,所以有些地方是需要注意一下的。

首先介绍一下apache、tomcat及jk2的安装:
Apache2:直接用apt-get安装就可以了,这样比较方便,因为我主要用于开发测试,不作服务器用途,不需要用麻烦的编译安装方法所以偷了一下懒。
Tomcat:从官网上下载Tomcat5解压到/opt/tomcat-5.0目录下,这个随便,爱放哪放哪,只要你觉得方便就行:)
JK2:这个比较特殊,我是加了http://www-devel.orcaware.com/packages/ubuntu/的源来安装的,用这个很方便,少去很多编辑配置文件的工作,呵呵。

好了,进入主题,由于apt安装,apache和jk的安装目录有点奇怪,里面的配置文件关系也看了我一些时间才弄明白,但这不是今天的主题,我就不在此详述了。安装完毕后为了整合apache和tomcat,你需要做几件事:
首先,在tomcat目录的conf文件夹下创建jk2.properties文件,在里面加入

handler.list=channelSocket,request
channelSocket.port=8009

两行。然后将/usr/share/doc/libapache2-mod- jk2/examples/workers2.properties.minimal复制到/etc/apache2/目录下,并改名为 workers2.properties,编辑这个文件,将其中
[config:]
file=${serverRoot}/conf/workers2.properties
debug=0
debugEnv=0

这段改为:
[config:]
file=${serverRoot}/workers2.properties
debug=0
debugEnv=0

保存修改,最后编辑/etc/apache2/mods-available/jk2.conf文件,去掉最后一行:
#JkSet config.file /etc/apache2/workers2.properties
的注释。

保存并退出编辑,OK,至此apache和tomcat的整合工作已经完成。当然,我今天写的只是最基本的让apache和tomcat协同工作的方法,有很多设置需要你根据的需求自己进行修改。
上次由 happybombman 在 2006-02-19 12:57,总共编辑 1 次。
头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#3

帖子 firehare » 2006-02-18 8:43

不错不错,欢迎原创文章!
我心无畏,源自于我心无知。
图片
Alonso
帖子: 60
注册时间: 2006-01-15 16:51

#4

帖子 Alonso » 2006-02-19 11:15

编辑/etc/apache2/mods-available/jk2.conf文件,去掉最后一行:
#JkSet config.file /etc/apache2/workers2.properties

不是去了这一行,是去掉注释,以便能引用workers2.properties能工作.

还有,在另外建了站点以后(如果没有在/tomcat/path/webapps目录下),还要在workers2.propertier定义uri路径,也就是客户端的请求从apache转到tomcat中的哪些类型文件可以被转发.有一个万用的方法就是定义如下的URI:

[uri:/*]
debug=0
也就是所有的文件类型都可以由apache转到tomcat中进行编译.
当然,这就是对服务器的性能有所折扣了.
头像
happybombman
帖子: 28
注册时间: 2005-06-20 1:32
联系:

#5

帖子 happybombman » 2006-02-19 12:55

多谢4楼的指正,写的时候没有注意到,应该是去掉注释,我已经改正原来的帖子。也欢迎各位在此讨论ubuntu下面一些关于apache和tomcat的技术问题 :D
greenwoodboy
帖子: 88
注册时间: 2005-04-15 15:31

#6

帖子 greenwoodboy » 2006-02-21 21:17

i add the source :

deb http://www-devel.orcaware.com/packages/ubuntu/ breezy/
deb-src http://www-devel.orcaware.com/packages/ubuntu/ breezy/


and update the source
but i cant 't find the jk .

help
头像
happybombman
帖子: 28
注册时间: 2005-06-20 1:32
联系:

#7

帖子 happybombman » 2006-02-22 18:40

试试
sudo apt-get install libapache2-mod-jk2
这是完整的包名。
头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#8

帖子 firehare » 2006-02-22 19:55

happybombman 可以在 http://wiki.ubuntu.org.cn/index/WebService中将你的文章写入 Wiki 中,以方便其他兄弟查找
我心无畏,源自于我心无知。
图片
头像
happybombman
帖子: 28
注册时间: 2005-06-20 1:32
联系:

#9

帖子 happybombman » 2006-02-22 22:00

响应firehare兄的号召,已经把这篇文章写到Wiki中去了,希望对大家能有所帮助。
greenwoodboy
帖子: 88
注册时间: 2005-04-15 15:31

#10

帖子 greenwoodboy » 2006-02-23 9:26

我怎么用apt-cache search jk2
怎么就搜索不到呢??
头像
happybombman
帖子: 28
注册时间: 2005-06-20 1:32
联系:

#11

帖子 happybombman » 2006-02-23 19:30

难道源里面已经去掉了?

我google了一下,这个包下载的地方还是挺多的,greenwoodboy你自己下载来安装一下试试吧

http://people.ubuntulinux.org/~lamont/b ... 2/2.0.4-3/
greenwoodboy
帖子: 88
注册时间: 2005-04-15 15:31

#12

帖子 greenwoodboy » 2006-02-23 22:24

头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#13

帖子 firehare » 2006-02-27 0:10

happybombman 写了:响应firehare兄的号召,已经把这篇文章写到Wiki中去了,希望对大家能有所帮助。
:)
兄弟功德无量呀!
我心无畏,源自于我心无知。
图片
fuqiang
帖子: 73
注册时间: 2006-05-12 13:15
来自: 哈尔滨
联系:

#14

帖子 fuqiang » 2006-05-16 11:33

greenwoodboy 写了:我怎么用apt-cache search jk2
怎么就搜索不到呢??
先设定好源.etc/apt/sources.list
aodi
帖子: 9
注册时间: 2006-04-04 16:31

#15

帖子 aodi » 2006-10-06 17:37

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.ClassNotFoundException: org.apache.jsp.jspinfo_jsp
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:133)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:65)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:596)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
上传了一个jsp探针出现这样的错误!但用http://local:8080可以访问到测试页面,访问探针就出错,我是整合apache和tomcat
回复