Apache HTTP Server+Tomcat:哪个文件生成 mod_jk.conf,如何修改生成的内容,以及 httpd 如何到达它?

Apache HTTP Server+Tomcat:哪个文件生成 mod_jk.conf,如何修改生成的内容,以及 httpd 如何到达它?

我使用的是安装了 Apache HTTP Server 和 Tomcat Add-On 的 XAMPP。
有一个默认的 mod_jk.conf,它是 Tomcat 启动时生成的。

  1. 但是哪个文件生成这个 mod_jk.conf 文件?
  2. 如何修改默认值?默认情况下,它看起来像这样:pastebin-mod_jk.conf
  3. Apache HTTP Server 如何访问此文件?查看 httpd.conf 时,我看不到对此文件的任何引用。
  4. 当我将 VirtualHost 放入我的 httpd.conf 文件中,并将该行放入JkMount /* ajp13其中时,Apache HTTP Server 服务无法启动(导致事件查看器中出现 7024 事件 ID 错误(错误代码为 1,但没有具体内容),但没有放入任何错误消息error.log。VirtualHost 如下所示:pastebin-VirtualHost + JkMount这样 Apache HTTP Server 就无法启动了。如果我注释掉该行JkMount /* ajp13,它就可以正常启动了。
  5. 但是,如果我再次在提到的 VirtualHost 之前放置以下行(与 mod_jk.conf 中相同),则服务可以启动!

    <IfModule !mod_jk.c>
        LoadModule jk_module "C:/xampp/tomcat/xampp/apache/modules/mod_jk.so"
    </IfModule>
    

我为什么必须再次输入这句话?

为什么会发生这种情况,它http://localhost/example确实有效,所以这个查询被重定向到 AJP13,但我必须在另一个文件中再次放入 LoadModule 行?

编辑:我不知道为什么,我肯定修改了一些东西,但现在/example 也不起作用......并且上面的配置给出了 500 内部服务器错误。

答案1

  1. 如果不存在。它由 mod_jk(apache 的 tomcat 模块 - 也称为通过运行 Tomcat 的 Apache 的 jakarta)生成https://tomcat.apache.org/tomcat-3.3-doc/mod_jk-howto.html#s81
  2. 使用文本编辑器
  3. Apache 调用模块 mod_jk,即 tomcat 本身
  4. 在 Tomcat 配置文件中配置名为 worker.properties 的 worker
  5. 如第 4 点所述

答案2

  1. 您会在 Apache 配置中找到“Include *.conf”。如果您的 mod_jk.conf 位于正确的位置,Apache 将会读取它。

答案3

我必须警告一下,我对 XAMPP 不太熟悉。

  1. 您可以从脚本中跟踪启动 Tomcat(startup.bat可能)

  2. 尝试在启动 Tomcat 之前启动 Apache。另一个解决方法是编辑并将其标记为只读。

  3. 在 Apache 配置文件中插入一条Include指令,如下所示:

    包括/tomcat/conf/mod_jk.conf

4 + 5. 您没有包含mod_jk.conf,所以mod_jk.so未加载,因此 Apache 无法理解该JkMount选项。

编辑:我不知道为什么,我肯定修改了一些东西,但现在/example 也不起作用......上面的配置给出了 500 内部服务器错误...:S

查看 Apache 错误日志,它会告诉您更多详细信息。

相关内容