问题标签 [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.
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 应用程序似乎是一种浪费
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 代码。
apache - mod_proxy_ajp 或 mod_jk 应该用于生产环境吗?
过去几天我一直在寻找是否应该使用 mod_proxy_ajp 或 mod_jk 来连接 apache httpd 和 tomcat。我发现的所有网站都已有几年历史并且已经过时了。
那么,哪个最适合用于适当的生产环境?mod_proxy_ajp 是否足够成熟,可以完全取代 mod_jk,或者如果你可以正确配置 mod_jk,它仍然是最好的?另外,配置每个连接器时的难度有什么区别?
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。
谢谢
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 条规则:
- 使用永久重定向将“ http://hostname/directory/ ”等旧规则重定向到“ http://hostname/ ”
- 将“ http://hostname/wtf/123/ ”之类的 URL 转发到“ http://hostname/wtf/view.htm?id=123 ”,这样最终用户就不会看到“丑陋”的 URL(实际重写)。
这是我用于测试虚拟主机的 Apache 配置:
问题是第二个重写规则不起作用。请求不变地传递给 JBoss,所以我收到 Tomcat 404 错误。但是,如果我将重定向标志添加到第二条规则中,例如
它就像一个魅力。但是重定向不是我在这里需要的:)。我怀疑问题在于请求被转发到另一台主机(192.168.1.2),但我真的不知道如何让它工作。任何帮助,将不胜感激 :)
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 状态管理器开始报告ERR
Tomcat2 的状态。它只会卡在这种状态,到目前为止我发现的唯一解决方法是对盒子进行 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 工作程序。
是什么导致了这个问题?我应该如何进一步调查?我能做些什么来解决它?
提前致谢。
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 交换来解决问题?
任何建议都将受到高度赞赏。如果我可以提供更多信息以进行故障排除,我将非常愿意这样做。
/本
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吗?
谢谢
java - 如何在来自 mod_jk 代理应用程序服务器的某些响应标头上禁用 Apache 中的压缩
我有一个(通过 mod_jk)配置为通过 Apache Httpd 服务器工作的 tomcat 服务器。
Apache Httpd 服务器压缩(通过 mod_deflate)发送到浏览器的所有文本/html。
一些jsp页面是交互式的和长时间运行的,即在执行期间显示进度或日志。如果打开压缩,这些页面上的所有文本都会在页面执行结束时出现。
我希望能够在 JSP 页面中设置一些响应标头,例如
在 Apache Httpd 中,这必须导致禁用压缩,例如通过设置no-gzip环境变量。
也许还有其他方法?
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 并发用户
他们的意思有很大的不同。如果在他们的文档中没有示例,就很难说。谁能澄清一下?
提前致谢。