【问题标题】:How to install mod_jk (Apache Tomcat Connectors) on Windows Server?如何在 Windows Server 上安装 mod_jk(Apache Tomcat 连接器)?
【发布时间】:2016-12-07 07:39:10
【问题描述】:

我是一个新技术。我的问题是,我有在 tomcat7 上运行的 Web 应用程序。现在我想在 windows server 上安装和配置 mod_jk 来连接 apache 和 tomcat。

请告诉我,该怎么做?

谢谢

【问题讨论】:

    标签: windows apache tomcat tomcat7 mod-jk


    【解决方案1】:

    首先,您必须根据您的apache httpd 版本从此处下载正确的 mod_jk 连接器二进制文件:

    http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

    如果你的 apache 是 2.2 版本,选择这个:

    如果是 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.host 和worker.worker1.port 的值是否正确才能到达您的tomcat 的ajp 连接器。 8009端口是常用的,但最好在你的tomcat的server.xml中检查,并在workers.properties中设置正确的。

    然后,在 httpd.conf 或任何其他外部 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 webapp 的上下文路径匹配的每个请求。

    如果您的应用程序在 http://localhost:8080/app-context/ 中侦听,那么您只需将其添加到 httpd.conf 或您设置 load_module 语句的文件中,就在 JKLogLevel 之后:

    JkMount  /app-context/* worker1
    

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

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

    http://localhost/app-context/

    如果你到达你的 Tomcat webapp,一切都完成了。

    【讨论】:

    • 你好,jlumietu。我对这个配置非常基础。但是当我将#load mod_jk 模块......................添加到httpd.conf 时,我的XAMPP 无法启动apache。它显示消息“错误:Apache 意外关闭....”
    • 你的XAMPP的httpd是哪个版本的?您是否根据您的 Apache 版本选择了正确的过滤器分布?您是否将 .so 文件放在正确的位置?
    • 我使用 XAMPP 控制面板 v3.2.2 (Apache 2.4),对于连接器我使用 (tomcat-connectors-1.2.40-windows-i386-httpd- 2.4.x.zip)。但它仍然无法正常工作。我无法启动 apache 服务器。
    • 你好 jlumietu,这是我的httpd.conf。感谢您的帮助。
    • 确保路径正确。您是否在日志或 Windows 事件查看器中看到任何消息?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    相关资源
    最近更新 更多