【问题标题】:I cannot use apache in front of tomcat我不能在tomcat前面使用apache
【发布时间】:2021-06-08 20:54:02
【问题描述】:

我正在尝试在虚拟盒环境中的 ubuntu 服务器上的 Tomcat 10 安装前设置 apache2 服务器。 apache 和 tomcat 都可以自己运行。 我想使用 apache 和 mod_jk 将一些请求重定向到 tomcat。 这是我的步骤。 在 tomcat 的 server.xml 中,我取消了以下几行:

<Connector protocol="AJP/1.3"
           address="::1"
           port="8009"
           redirectPort="8443" />

我已经用 apt 安装了 mod_jk:

sudo apt-get install libapache2-mod-jk

我已经编辑了 /etc/libapache2-mod-jk 中的 workers.properties 文件:

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

在 /etc/apache2/apache.conf 中:

JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkMount /sample/* worker1

在服务器地址上我可以看到 apache 主页,在 serveraddress:8080/sample 中我可以看到 tomcat 示例页面。 我现在希望在 serveraddress/sample 中也能看到 tomcat 示例页面。 但我收到 404 错误。 我错过了一些步骤吗?

谢谢。

【问题讨论】:

  • 因为localhost 解析为::1127.0.0.1 我会使用ip6-localhost。您还需要为 AJP 连接器提供 secret 或设置 secretRequired="false"

标签: apache tomcat mod-jk


【解决方案1】:
  • /var/log/apache2/mod_jk.log 会告诉你什么吗? (除了工作人员 jk-manager 和 jk-status 缺失,因为它们是默认设置的 mod-jk conf)

  • 您是否在 Apache (sudo a2enmod jk) 中启用了 mod_jk 并重新启动了 Apache (sudo service apache2 restart)?

  • 您使用的是哪个版本的 Ubuntu?

关于后者,请注意,在将 jk.conf 重命名为 httpd.conf 时,Debian/Ubuntu 的 libapache2-mod-jk 中出现了回归错误,这意味着使用 a2enmod 不起作用。

注意这里的问题: https://changelogs.ubuntu.com/changelogs/pool/universe/liba/libapache-mod-jk/libapache-mod-jk_1.2.46-2/changelog

说bug:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928813

这让我在使用 Unbuntu 20.04 LTS 时大受打击。如果您遇到这种情况,请通过在 /etc/apache2/mods-enabled/ 中向 /etc/apache2/mods-available/httpd.conf 添加符号链接来启用 mod-jk

使用sudo apt install libapache2-mod-jk 的香草安装,该错误未到达 Unbuntu 18.04 LTS。不确定何时/何地/如何修复从上游 Debian 到 Ubuntu

HTH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多