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

2023-10-21 23:32

本文主要是介绍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
下载的地址:[url]http://httpd.apache.org/[/url]
2.tomcat5.5
[url]http://tomcat.apache.org/download-55.cgi[/url][选core zip的,即解压缩的不需要安装的]
3.mod_jk
[url]http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/[/url]
由于我们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分别解决对应的问题。

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

还是不行,给我留言。

这篇关于apache+tomcat+mod_jk整合配置虚拟主机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/257650

相关文章

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi