如何在Windows Server上安装mod_jk(Apache Tomcat Connectors)?

7

我是一名新手技术人员。我的问题是,我有一个运行在tomcat7上的Web应用程序。现在我想在Windows服务器上安装和配置mod_jk以连接Apache和Tomcat。

请告诉我,如何操作?

谢谢

1个回答

30
首先,您必须从此处下载正确的mod_jk连接器二进制文件,具体取决于您的apache httpd版本: http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/ 如果您的 apache 版本是2.2,请选择以下内容: http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.40-windows-i386-httpd-2.2.x.zip 如果是2.4版本,请根据您偏好的64位或32位版本之一进行选择: 下载并解压正确的文件。然后,从zip中提取mod_jk.so并将其放置在您的apache httpd模块文件夹中,通常是[APACHE_HOME]/modules
完成后,您必须创建一个workers.properties文件,通常位于apache conf目录或其中任何一个目录中(conf.d、extra等)。
通常情况下,workers.properties文件具有以下内容:
worker.list=worker1,jkstatus

#Set properties for worker19 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009 
worker.worker1.ping_timeout=1000
worker.worker1.connect_timeout=10000
worker.worker1.prepost_timeout=10000
worker.worker1.socket_timeout=10
worker.worker1.connection_pool_timeout=60
worker.worker1.connection_pool_size=90
worker.worker1.retries=2
worker.worker1.reply_timeout=300000 

# status worker
worker.jkstatus.type=status

您必须检查worker.worker1.hostworker.worker1.port的值是否正确,以便访问您的Tomcat的ajp连接器。8009端口是常用的端口,但最好在Tomcat的server.xml文件中检查它,并在workers.properties文件中设置正确的端口。

然后,在httpd.conf或任何其他外部配置文件中添加以下内容:

# Load mod_jk module
LoadModule jk_module modules/tomcat-connector/mod_jk.so

# Add the module (activate this lne for Apache 1.3)
# AddModule     mod_jk.c
# Where to find workers.properties
JkWorkersFile conf/extra/workers.properties # Check the path is correct to your workers.properties 
# Where to put jk shared memory
JkShmFile     logs/mod_jk.shm
# Where to put jk logs
JkLogFile     logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel    info 

完成这些步骤后,您可以尝试重新启动Apache httpd以查看是否已正确执行所有操作。如果Apache能够正确启动,现在您可以开始计划如何将匹配的请求从httpd重定向到Tomcat。最简单的方法是重定向与Tomcat Web应用程序上下文路径相匹配的每个请求。

如果您的应用程序在http://localhost:8080/app-context/监听,则可以将此简单添加到httpd.conf文件或设置load_module语句的文件中,在JKLogLevel之后:

JkMount  /app-context/* worker1

请注意,worker1 必须与您在 workers.properties 文件中为 worker 指定的名称匹配。

现在,只需重新启动 Apache httpd,确保 Tomcat 正在运行,然后在浏览器中尝试访问下一个 URL:

http://localhost/app-context/

如果您能够访问到 Tomcat 的 Web 应用程序,则一切完成。


1
你的XAMPP使用的是哪个版本的httpd?你是否根据Apache版本选择了正确的过滤器分发版本?并且你是否将.so文件放置在了正确的位置? - jlumietu
这是否意味着我需要安装Apache HTTP服务器和Apache Tomcat? - alex351
@alex351 这取决于你想要实现什么。这个问题和答案实际上涵盖了在Apache Httpd和Tomcat之间配置mod_jk连接器的方法。但是为了回答你的问题...你到底想做什么? - jlumietu
基本上,我已经在 Windows 上安装了 WAMP Httpd,并希望在该服务器上运行 Java 应用程序。 - alex351
我在apache/conf/httpd.conf文件的末尾添加了mod_jk设置,但WAMP服务器拒绝启动。 - alex351
显示剩余14条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接