问题标签 [mod-jk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
500 浏览

tomcat - mod_jk 帮助 ubuntu 服务器 9.04 上的 apache2 tomcat6 和 railo3

我正在尝试在tomcat6上设置coldfusion服务器railo并使用apache2通过mod_jk连接到tomcat。我已经完成了所有设置,除了我希望能够让我的 railo webapp 使用 /var/www (我的默认 apache 目录)作为它的主目录,因为不是每个文件都需要由 railo 处理。解决此问题的最佳方法是什么?

[编辑]让我更清楚为什么我希望能够使用这种方法。我计划在 apache 中拥有多个虚拟主机,理想情况下,它们的所有冷融合页面都由 railo 提供服务,因为其中几个子域很少使用(管理员等),因此为他们提供单独的 railo 应用程序似乎是一种浪费

0 投票
2 回答
5505 浏览

java - jboss中的JSP部署问题

我在 Linux 中安装了 Jboss 4.0.4GA。在我启动 jboss 没有问题后,我尝试在浏览器中访问 JSP 页面,出现错误:

然后单击刷新按钮,或稍后再试。


名称以无效字符开头。处理资源“ https://uappdev.marvell.com/login/index.jsp ”时出错。林...

<%@ page import="com.marvell.macroip.util.Constants" %> -^

我发现转换后的 servlets 类文件不在 [jboss home]/work/jboss.web/localhost/_/org... 目录中。Jboss 日志文件中没有错误。

有人可以帮我解决这个问题吗?我已经花了很多时间解决这个问题,但没有运气。

这是我的 web.xml:

jsp页面:

如果我尝试这个 jsp 页面,它将是空白页面或在浏览器中显示原始 jsp 代码。

0 投票
1 回答
1175 浏览

apache - mod_proxy_ajp 或 mod_jk 应该用于生产环境吗?

过去几天我一直在寻找是否应该使用 mod_proxy_ajp 或 mod_jk 来连接 apache httpd 和 tomcat。我发现的所有网站都已有几年历史并且已经过时了。

那么,哪个最适合用于适当的生产环境?mod_proxy_ajp 是否足够成熟,可以完全取代 mod_jk,或者如果你可以正确配置 mod_jk,它仍然是最好的?另外,配置每个连接器时的难度有什么区别?

0 投票
5 回答
17838 浏览

apache - 从虚拟主机的 URL 中删除 Tomcat 上下文(mod_jk、mod_rewrite)

我有一个 Tomcat 实例,其中包含许多 webapp,每个都可以通过它的 /Context 访问。Tomcat 落后于 httpd(实际上是 Debian Apache2),配置了虚拟主机来服务每个应用程序/上下文。Tomcat 连接使用 mod_jk。

当我不关心从 url 中删除上下文时,这很好用:当请求虚拟域的根时,请求被重定向到 domain.com/Context。

但是对于一个应用程序,我确实想删除上下文。我相信这可以通过使用 mod_rewrite 来完成,并将重写的 url 传递给 mod_jk 以传递到正确的 Tomcat 上下文。所以我的 Debian Apache2 站点可用文件如下所示:

根据文档,[PT] 标志和 +ForwardURICompat 选项应该导致重写的 URL 被传递给 jk_mod。然而,这似乎并没有发生。

URL 正在重写,但似乎 mod_jk 忽略了它:例如,对 domain.be/Context 的请求被重写为 /Context/Context - 但仍作为 /Context 交给 mod_jk。

有任何想法吗?顺便说一句,我目前无法使用 mod_proxy。

谢谢

0 投票
2 回答
4012 浏览

apache - 为 Apache 2.2 和 JBoss 4.2.3 配置 mod_rewrite 和 mod_jk

我的问题如下:我有 JBoss 4.2.3 应用服务器和 AJP 1.3 连接器在 Windows 下的一台主机上运行(我的测试环境为 192.168.1.2),Apache 2.2.14 在另一个 FreeBSD 机器上运行(192.168.1.10)。Apache 充当所有请求的“前门”,并通过 mod_jk 将它们发送到 JBoss。一切正常,直到我不得不做一些 SEO 优化。这些优化包括 SEF url,所以我决定使用 Apache 的 mod_rewrite 来更改请求,然后再将它们发送到 JBoss。基本上,我需要实施 2 条规则:

这是我用于测试虚拟主机的 Apache 配置:

问题是第二个重写规则不起作用。请求不变地传递给 JBoss,所以我收到 Tomcat 404 错误。但是,如果我将重定向标志添加到第二条规则中,例如

它就像一个魅力。但是重定向不是我在这里需要的:)。我怀疑问题在于请求被转发到另一台主机(192.168.1.2),但我真的不知道如何让它工作。任何帮助,将不胜感激 :)

0 投票
4 回答
9102 浏览

java - Tomcat 停止响应 JK 请求

我对挂起的负载平衡 Tomcat 服务器有一个讨厌的问题。任何帮助将不胜感激。

系统

我在 HotSpot Server 14.3-b01 (Java 1.6.0_17-b04) 上运行 Tomcat 6.0.26,三台服务器位于另一台充当负载平衡器的服务器后面。负载均衡器运行 Apache (2.2.8-1) + MOD_JK (1.2.25)。所有服务器都运行 Ubuntu 8.04。

Tomcat 配置了 2 个连接器:一个 AJP 连接器和一个 HTTP 连接器。AJP 将与负载均衡器一起使用,而 HTTP 则由开发团队用于直接连接到选定的服务器(如果我们有理由这样做)。

我在 Tomcat 服务器上安装了 Lambda Probe 1.7b,以帮助我诊断和解决即将描述的问题。

问题

问题出在:应用服务器启动大约 1 天后,JK 状态管理器开始报告ERRTomcat2 的状态。它只会卡在这种状态,到目前为止我发现的唯一解决方法是对盒子进行 ssh 并重新启动 Tomcat。

我还必须提到,当 Tomcat 服务器处于此状态时,JK 状态管理器需要更长的时间来刷新。

最后,JK 状态管理器上卡住的 Tomcat 的“忙碌”计数总是很高,并且本身不会下降——我必须重新启动 Tomcat 服务器,等待,然后重置 JK 上的工作程序。

分析

由于我在每个 Tomcat 上都有 2 个连接器(AJP 和 HTTP),我仍然可以通过 HTTP 连接到应用程序。该应用程序像这样工作得很好,非常非常快。这是完全正常的,因为我是唯一使用此服务器的人(因为 JK 停止将请求委托给此 Tomcat)。

为了更好地理解这个问题,我从一个不再响应的 Tomcat 和另一个最近重新启动的 Tomcat(比如 1 小时前)中获取了一个线程转储。

正常响应 JK 的实例显示大部分 TP-ProcessorXXX 线程处于“可运行”状态,堆栈跟踪如下:

被卡住的实例显示大部分(全部?)TP-ProcessorXXX 线程处于“等待”状态。这些具有以下堆栈跟踪:

我不知道 Tomcat 的内部结构,但我会推断“等待”线程只是位于线程池中的线程。那么,如果它们是在线程池中等待的线程,为什么 Tomcat 不让它们处理来自 JK 的请求呢?

编辑:我不知道这是否正常,但 Lambda Probe 在状态部分向我显示,有很多线程处于KeepAlive状态。这是否与我遇到的问题有关?

解决方案?

所以,正如我之前所说,我发现的唯一解决方法是停止 Tomcat 实例,停止 JK 工作程序,等待后者的繁忙计数慢慢下降,再次启动 Tomcat,然后再次启用 JK 工作程序。

是什么导致了这个问题?我应该如何进一步调查?我能做些什么来解决它?

提前致谢。

0 投票
1 回答
648 浏览

java - Wicket 应用程序 + Apache + mod_jk - AJP 队列已满!

我们在生产服务器集群中部署了一个基于 Wicket 的 Java 应用程序,使用 Apache (2.2.3) 和 mod_jk (1.2.30) 作为负载平衡组件,带有粘性会话,Jboss 5 作为 Java 应用程序的应用程序容器。

我们在生产环境中始终看到一个问题,即我们的 Apache 和 Jboss 之间的 AJP 队列(如 JMX 控制台所示)充满了请求,以至于应用程序服务器不再接受任何新请求。在查看所有涉及的系统组件(整体流量、负载数据库、进程列表数据库、所有集群应用程序服务器节点的负载)时,没有任何迹象表明存在容量问题,这可以解释为什么调用在 AJP 队列中停滞不前。相反,所有系统都显得足够空闲。

到目前为止,我们对该问题的唯一补救措施是重新启动应用服务器和负载均衡器,这只是偶尔清除 AJP 队列。

我们试图弄清楚为什么队列会填满,即使系统没有处于高负载下,也没有任何呼叫返回给最终用户。

有没有其他人遇到过类似的问题?

我们是否应该监控任何其他系统指标来解释排队行为?

这可能是一个 mod_jk 问题吗?如果是这样,是否建议将 mod_jk 与 mod_cluster 交换来解决问题?

任何建议都将受到高度赞赏。如果我可以提供更多信息以进行故障排除,我将非常愿意这样做。

/本

0 投票
1 回答
15407 浏览

apache - 带有 mod_jk 的 Apache + Tomcat:负载平衡时的 maxThread 设置

我在 2 台服务器上安装了带有 mod_jk 的 Apache + Tomcat。每台服务器都有自己的 Apache+Tomcat 对,每个请求都由 2 台服务器上的 Tomcat 负载平衡工作者提供服务。

我有一个关于如何设置 ApachemaxClient和 Tomcat 的问题maxThread

默认数字是, Apache: maxClient=150, Tomcat: maxThread=200

在此配置中,如果我们只有 1 个服务器设置,它会正常工作,因为 Tomcat 工作人员一次接收的传入连接永远不会超过 150 个。但是,如果我们在 2 台服务器之间进行负载平衡,Tomcat 工作者是否有可能收到 150 +(来自另一台服务器的某个数字)并使 maxThread 溢出为SEVERE: All threads (200) are currently busy

如果是这样,我应该maxThread=300在这种情况下设置Tomcat吗?

谢谢

0 投票
3 回答
4071 浏览

java - 如何在来自 mod_jk 代理应用程序服务器的某些响应标头上禁用 Apache 中的压缩

我有一个(通过 mod_jk)配置为通过 Apache Httpd 服务器工作的 tomcat 服务器。

Apache Httpd 服务器压缩(通过 mod_deflate)发送到浏览器的所有文本/html。

一些jsp页面是交互式的和长时间运行的,即在执行期间显示进度或日志。如果打开压缩,这些页面上的所有文本都会在页面执行结束时出现。

我希望能够在 JSP 页面中设置一些响应标头,例如

在 Apache Httpd 中,这必须导致禁用压缩,例如通过设置no-gzip环境变量。

也许还有其他方法?

0 投票
1 回答
10871 浏览

performance - jBoss最大并发连接数

我们目前正在开发一个 servlet,它将大图像文件流式传输到客户端。我们正在尝试使用 Apache mod_jk 负载平衡器确定集群中需要多少 Jboss 节点。我知道处理一个请求大约需要 5000 毫秒。我正在尝试使用这里的论坛http://people.apache.org/~mturk/docs/article/ftwai.html来确定有多少连接是可能的,但我遇到了一个问题,因为他们没有解释每个公式中的数字之一。具体来说,他们说您应该将每个服务器限制为每个 cpu 200 个请求,但我不知道我是否应该在公式中使用它。我们使用的每台服务器都有 8 个内核,所以我认为论坛应该是这样的:

并发用户 = (500/5000) * 200 * 8 = 100 并发用户

或者像这样:

并发用户 = (500/5000) * (200 * 8) * 8 = ~1200 并发用户

他们的意思有很大的不同。如果在他们的文档中没有示例,就很难说。谁能澄清一下?

提前致谢。