`
energykey
  • 浏览: 598205 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

apache+tomcat+mod_jk整合配置虚拟主机

阅读更多
经过几天的google和测试,终于配置成功了。
以javaeye信誉担保,以下配置绝对真实有效。
如果你经过了漫长的google还是无法配置成功,那么,很高兴地告诉你,这里有你想要的。

由于网上很多文章已经过时,而且许多网站转来转去使文章乱七八糟,看得我们眼花缭乱,不知道该听谁的。

接下来你需要做的,就是跟着我一步一步做。值得注意的是,为了测试效果,你的域名解析一定要配置正确,比如www.domain1.com,你需要添加一条A记录将该URL的值设为你的IP。

实现目标:通过www.domain1.com访问app1,www.domain2.com访问app2.两者都是通过80端口。
需要的工具:
1.apache2.2.14
下载的地址:http://httpd.apache.org/
2.tomcat5.5
http://tomcat.apache.org/download-55.cgi[选core zip的,即解压缩的不需要安装的]
3.mod_jk
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/
由于我们apache是2.2的所以这里选择mod_jk-1.2.28-httpd-2.2.3.so,当然当你读到这篇文章的时候可能已经不是2.2.3了,没关系,只要和apache保持一致即可。

安装我就不说了吧,不会的自己google一下。
apcahe一路点确定,端口选80,其他随便填不要紧。
mod_jk下载后解压到apache安装目录的modules下,为了后面方便我把mod_jk重命名成了mod_jk.so。
tomcat解压后即可,如果你一闪而过那说明是你环境变量没配置正确,只要环境变量正确解压了就可以跑的,其他的都是在乱说。

首先我要配置的是apache。以为的为例子
NameVirtualHost *:80


<VirtualHost *:80>

ServerName www.wibowibo.com
ServerAlias wibowibo.com *.wibowibo.com
DocumentRoot "F:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\ROOT"
DirectoryIndex index.html index.htm index.jsp
#这个跟welcome-list的作用一样,欢迎页面
JkMount /servlet/* wibowibo 
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp wibowibo 
JkMount /*.htm wibowibo 
JkMount /*.html wibowibo 
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do wibowibo 
#让Apache支持对.do传送,用以Tomcat解析
JkMount /* wibowibo
#设置这个apache将所有请求都转发给tomcat解析
#这里要根据自己的实际情况配置,如果考虑性能需要查阅更详细的资料,本文不做讨论
</VirtualHost>
<Directory "F:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\ROOT">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>

ServerName www.zjjgh.org
DocumentRoot "F:\apache-tomcat-5.5.27\apache-tomcat-5.5.27\webapps\zjjgh"
DirectoryIndex index.html index.htm index.jsp
JkMount /servlet/* zjjgh 
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp zjjgh 
JkMount /*.htm zjjgh 
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do zjjgh 
#让Apache支持对.do传送,用以Tomcat解析
JkMount /* zjjgh
</VirtualHost>
<Directory "F:\apache-tomcat-5.5.27\apache-tomcat-5.5.27\webapps\zjjgh">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


LoadModule jk_module modules\mod_jk.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "F:\apache-tomcat-5.5.27\apache-tomcat-5.5.27\conf\workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "F:\apache-tomcat-5.5.27\apache-tomcat-5.5.27\logs\mod_jk2.log" 
#指定日志存放位置
JkLogLevel info

<Directory "F:\apache-tomcat-5.5.27\apache-tomcat-5.5.27\webapps\zjjgh">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
这块主要是声明权限,不然你在浏览器就会报错返回you don't have permission什么什么的。总之这个不能少,而且一个DocumentRoot 对应一个Directory

ServerName www.zjjgh.org
这里的ServeName配置好后,tomcat的server.xml也要增加对应的HOST!
 <Host name="www.wibowibo.com" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
			<Context path="" docBase="F:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\ROOT" reloadable="true" crossContext="true"/>

	   </Host>
	    <Host name="www.zjjgh.org" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
			<Context path="" docBase="F:\apache-tomcat-5.5.27\apache-tomcat-5.5.27\webapps\zjjgh" reloadable="true" crossContext="true"/>

	   </Host>

注意大小写!别把Host写成了HOST,不然tomcat会启动不了。这里的name要和ServerName对应,docBase也要一致,这个在任何路径都可以,我的两个路径分别放在两个tomcat的webapps【注意不要误解,等会我们只需要启动一个tomcat就可以了,就是workers.properties所在的tomcat】只要你这个路径下有一个可以运行起来的j2ee工程,当然,只有一个静态HTML也行。

接下来是workers.properties
这个拷贝就行了,自己在tomcat的conf下创建一个,里面的内容
workers.tomcat_home=F:\apache-tomcat-5.5.27\apache-tomcat-5.5.27 #让mod_jk模块知道tomcat的位置
workers.java_home=D:\Java\jdk1.5.0_16\jre #让mod_jk模块知道jre的位置
ps=\
worker.list=zjjgh,wibowibo #模块版本
worker.zjjgh.port=9009 #工作端口,若没占用则不用修改
worker.zjjgh.host=www.zjjgh.org #本机,若上面的Apache主机不为localhost,作相应修改
worker.zjjgh.type=ajp13 #类型
worker.zjjgh.lbfactor=1 #代理数,不用修改

worker.wibowibo.port=9009 #工作端口,若没占用则不用修改
worker.wibowibo.host=www.wibowibo.com #本机,若上面的Apache主机不为localhost,作相应修改
worker.wibowibo.type=ajp13 #类型
worker.wibowibo.lbfactor=1 #代理数,不用修改



把路径改成你自己的,port也一样。默认是8009,我改成了9009,在tomcat的server.xml里有一行
 <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
和这里保持一致即可。

好了,启动看看吧,先启动tomcat。workers.properites里设定的那个tomcat。然后启动apache,分别输入看看。如果异常,可以通过查看apache安装目录下的error.log和tomcat logs目录下的mod_jk.log分别解决对应的问题。

如果还不行,仔细检查配置文件,大小写,标签闭合,路径是否正确,文件名是否正确,几个配置文件中的文件名和路径名是否一致。

还是不行,给我留言。
5
0
分享到:
评论
8 楼 bobozuyuan 2016-12-13  
先谢谢,楼主,还有我没有配置host便签
7 楼 gufachongyang02 2016-10-09  
linux环境下的参考配置,基本可以用
6 楼 念QC 2015-10-07  
按照楼主的配置,tomcat无法启动,tomcat的配置文件中添加host节点,是不是还要改别的地方。
5 楼 添子明 2014-08-27  
mark 
4 楼 energykey 2012-09-06  
tianhandigeng 写道
楼主还是不行啊,我照着配置了http://localhost:8080/jspinfo.jsp可以解析并显示出来,但是http:/localhost/jsoninfo.jsp就不能解析,就把jsp里面的内容原封不动的显示出来了

你要严格按照我的步骤一步一步来啊!这可是我试出来的,你肯定哪里没搞对。
3 楼 tianhandigeng 2012-09-01  
楼主还是不行啊,我照着配置了http://localhost:8080/jspinfo.jsp可以解析并显示出来,但是http:/localhost/jsoninfo.jsp就不能解析,就把jsp里面的内容原封不动的显示出来了
2 楼 RonQi 2011-10-25  
另外我有一个问题,如果使用apache+tomcat+mod_jk可以配置负载均衡,那如果又要配置虚拟主机,又要配置负载均衡,不知能否实现?
1 楼 RonQi 2011-10-20  
照着楼主的教程,配成啦

相关推荐

    apache+tomcat+mod_jk

    apache+tomcat+mod_jk整合文档,内有安装包。apache+tomcat+mod_jk整合文档,内有安装包。

    apache2.4+tomcat7+mod_jk.so_整合配置

    Apache 2.4 和 Tomcat 7 的整合配置主要依赖于 mod_jk 模块,这是一个 Apache HTTP 服务器的模块,用于与 Tomcat 进行负载均衡和通信。`mod_jk.so` 是该模块的动态链接库文件,用于在 Apache 和 Tomcat 之间建立连接...

    apache2.4 +tomcat7+mod_jk.so 完美整合实例

    Apache 2.4、Tomcat 7 和 mod_jk.so 的整合是将 Apache 作为前端服务器,用于处理静态内容和反向代理,而 Tomcat 作为后端应用服务器,主要负责处理 Java Servlet 和 JSP。这种架构组合可以充分利用 Apache 的高性能...

    apache + tomcat + mod_jk集群

    5. **配置mod_jk模块**:在httpd.conf中,配置一个虚拟主机,并使用JkMount指令来指定哪些URL应该由mod_jk处理。这通常包括所有以"/"开头的URL,表示所有请求都将被转发到Tomcat。 6. **配置Tomcat**:在Tomcat的...

    Apache2.2.25 + Tomcat6.0.45 + mod_jk + 测试页面 + 集群

    本资源包含了文章Apache2.2.x + Tomcat6.x + JK 集群配置,http://blog.csdn.net/qq396229783/article/details/74295797里面所用到的软件配置

    两台服务器上做Apache2.2+Tomcat6.0+mod_jk的负载均衡

    最后,更新Apache的httpd.conf文件,设置虚拟主机和mod_jk的负载均衡规则。 6. **监控与故障切换**:为了确保高可用性,需要监控服务器状态,并实现故障切换。如果一台服务器出现故障,mod_jk可以自动将请求重定向...

    apache+tomcat集群03 mod_JK

    4. **配置Apache的虚拟主机**:在Apache的虚拟主机配置中,设置JKMount指令,指定哪些URL路径由mod_JK处理并转发到相应的Tomcat实例。 5. **测试和优化**:启动所有服务,进行测试,确保请求能正确地被分发。根据...

    Apache+Tomcat+mod_jk+mod_ssl配置笔记

    在配置Apache与Tomcat的连接时,我们需要在httpd.conf中添加mod_jk的配置,例如启用mod_jk模块,设置worker定义(这将在workers.properties文件中详细描述)以及虚拟主机或路径的重定向规则。 接下来,workers....

    Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合

    ### Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合 本文旨在深入探讨如何将Apache 2.2、Tomcat 6.0、MySQL 5.0以及mod_jk进行有效的整合,以构建一个高性能、可扩展的应用服务器环境。这种整合方式不仅能够...

    RedHat_linux+apache+tomcat+mod_jk_负载均衡安装说明

    通过以上步骤,我们完成了在 Red Hat Linux 9.0 上安装 Apache、Tomcat 和 Mod_jk 的过程,并进行了简单的负载均衡配置。这些配置能够帮助我们更好地管理应用服务器集群,提高系统的稳定性和性能。当然,实际部署时...

    Apache2.0.43 + Tomcat4.1.18 + mod_jk-2.0.43.dll整合

    - **配置连接**:通过修改Apache的httpd.conf文件加载mod_jk模块并配置虚拟主机,指向Tomcat服务 ### 二、环境变量配置 #### 1. Java_HOME 设置Java环境变量为C:\j2sdk1.4.1,确保系统能识别Java环境。 #### 2. ...

    apache+tomcat 连接文件mod_jk

    rpm格式的,运行后直接就生效了 比src 格式的方便

    tomcat集群-Apache2.2.4+And+mod_jk.so+tomcat配置文件

    【描述】中的"apache的安装包和链接tomcat的插件,以及tomcat和apache的配置文件"表明,你需要配置Apache服务器(版本2.2.4)和mod_jk模块来与多个Tomcat实例(如tomcat3、tomcat2、tomcat1)进行通信。此外,还需要...

    mod_jk各个版本 apache与tomcat 整合

    ### mod_jk 各个版本及 Apache 与 Tomcat 的整合方法 在 IT 行业中,Apache 和 Tomcat 的整合是非常常见的需求之一。通过使用 mod_jk 这一模块,我们可以实现 Apache 和 Tomcat 之间的高效通信。mod_jk 是一个负载...

    整合apache与tomcat所需要的模块,各版本mod_jk

    5. **配置虚拟主机**:在Apache的虚拟主机配置中,使用`JkMount`指令将动态请求转发到相应的Tomcat实例。 **功能特性:** 1. **负载均衡**:`mod_jk`可以配置为将请求分散到多个Tomcat实例,实现负载均衡,提高系统...

    apache+tomcat7+jk负载均衡

    4. 在Apache的虚拟主机配置中,使用mod_jk的`JkMount`指令将特定的URL或目录映射到对应的worker,从而实现请求的分发。 5. 启动Apache和Tomcat,验证配置是否正确,可以通过访问测试页面和观察日志文件来确认负载...

    apache2.2+tomcat配置mod_jk.so

    用户配置apache和tomcat配置使用的插件,使用与apache2.2.*

    Apache2.4服务器+mod_jk.so

    5. **配置虚拟主机**:在`httpd-vhosts.conf`或`httpd.conf`中设置虚拟主机,并使用`JkMount`指令将动态请求转发给mod_jk,例如: ``` *:80&gt; ServerName yourdomain.com DocumentRoot /var/www/html JkMount /*...

    Apache+mod_jk+Tomcat负载均衡配置

    ### Apache+mod_jk+Tomcat负载均衡配置详解 #### 一、背景介绍 随着互联网技术的迅猛发展,单一服务器已经难以满足日益增长的服务需求。负载均衡技术应运而生,成为提高服务可用性和扩展性的关键手段之一。本文将...

Global site tag (gtag.js) - Google Analytics