我使用的是安装了 Apache HTTP Server 和 Tomcat Add-On 的 XAMPP。
有一个默认的 mod_jk.conf,它是 Tomcat 启动时生成的。
- 但是哪个文件生成这个 mod_jk.conf 文件?
- 如何修改默认值?默认情况下,它看起来像这样:pastebin-mod_jk.conf。
- Apache HTTP Server 如何访问此文件?查看 httpd.conf 时,我看不到对此文件的任何引用。
- 当我将 VirtualHost 放入我的 httpd.conf 文件中,并将该行放入
JkMount /* ajp13
其中时,Apache HTTP Server 服务无法启动(导致事件查看器中出现 7024 事件 ID 错误(错误代码为 1,但没有具体内容),但没有放入任何错误消息error.log
。VirtualHost 如下所示:pastebin-VirtualHost + JkMount这样 Apache HTTP Server 就无法启动了。如果我注释掉该行JkMount /* ajp13
,它就可以正常启动了。 但是,如果我再次在提到的 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
- 如果不存在。它由 mod_jk(apache 的 tomcat 模块 - 也称为通过运行 Tomcat 的 Apache 的 jakarta)生成https://tomcat.apache.org/tomcat-3.3-doc/mod_jk-howto.html#s81)
- 使用文本编辑器
- Apache 调用模块 mod_jk,即 tomcat 本身
- 在 Tomcat 配置文件中配置名为 worker.properties 的 worker
- 如第 4 点所述
答案2
- 您会在 Apache 配置中找到“Include *.conf”。如果您的 mod_jk.conf 位于正确的位置,Apache 将会读取它。
答案3
我必须警告一下,我对 XAMPP 不太熟悉。
您可以从脚本中跟踪启动 Tomcat(
startup.bat
可能)尝试在启动 Tomcat 之前启动 Apache。另一个解决方法是编辑并将其标记为只读。
在 Apache 配置文件中插入一条
Include
指令,如下所示:包括/tomcat/conf/mod_jk.conf
4 + 5. 您没有包含mod_jk.conf
,所以mod_jk.so
未加载,因此 Apache 无法理解该JkMount
选项。
编辑:我不知道为什么,我肯定修改了一些东西,但现在/example 也不起作用......上面的配置给出了 500 内部服务器错误...:S
查看 Apache 错误日志,它会告诉您更多详细信息。