【发布时间】:2016-07-31 20:09:40
【问题描述】:
我的 Web 应用程序部署在 JBoss AS 7.1 中。在用 Java 编写中间件代码之后,当我开始编写用户界面时。我想过使用 Apache httpd 来访问 css、js 和 html 等静态资源。因此,我安装了 httpd 2.4.23 并进行了配置更改以访问我拥有静态资源的目录。然后我想用 httpd 作为负载均衡器。为此,我安装了 mod_jk 1.2.41。我使用以下详细信息创建了workers.property:
# for mapping requests
# The configuration directives are valid
# for the mod_jk version 1.2.18 and later
worker.list=loadbalancer,status
# Define node
# modify the host as your host IP or DNS name.
worker.node.port=8009
worker.node.host=127.0.0.1
#(IP or DNS name of the server on which Jboss is running)
worker.node.type=ajp13
worker.node.lbfactor=1
# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node
worker.loadbalancer.sticky_session=1
worker.status.type=status
这是我的 mod-jk.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkShmFile logs/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /sb/* loadbalancer
JkMount /sb.web/* loadbalancer
我在httpd.conf的末尾添加了这个配置文件:
Include C:/Apache24/conf/mod-jk.conf
我检查了我的 JBoss 配置,参考如下:
我无法使用 httpd URL 访问我的 JBoss 应用程序。它给出了以下错误日志:
::1 - - [01/Aug/2016:01:26:58 +0530] "GET /sb/v1/sc/m/2/ HTTP/1.1" 503 299
mod-jk 日志:
[7132:1928] [info] jk_open_socket::jk_connect.c (817): connect to 127.0.0.1:8009 failed (errno=61)
[7132:1928] [info] ajp_connect_to_endpoint::jk_ajp_common.c (1068): (node) Failed opening socket to (127.0.0.1:8009) (errno=61)
[7132:1928] [error] ajp_send_request::jk_ajp_common.c (1728): (node) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=61)
[7132:1928] [info] ajp_service::jk_ajp_common.c (2773): (node) sending request to tomcat failed (recoverable), because of error during request sending (attempt=2)
[7132:1928] [error] ajp_service::jk_ajp_common.c (2794): (node) connecting to tomcat failed (rc=-3, errors=4, client_errors=0).
[7132:1928] [info] service::jk_lb_worker.c (1595): service failed, worker node is in error state
[7132:1928] [info] service::jk_lb_worker.c (1675): All tomcat instances are busy or in error state
[7132:1928] [error] service::jk_lb_worker.c (1680): All tomcat instances failed, no more workers left
[7132:1928] [info] jk_handler::mod_jk.c (2991): Service error=0 for worker=loadbalancer
我能够通过自己的 URL 访问 JBoss 应用程序,并且可以使用 httpd URL 访问静态内容,这意味着这两个服务器都运行良好。 请帮忙。
【问题讨论】:
-
请向我们展示您的日志文件,即 mod_jk.log 和 erro_log
-
问题已编辑并添加了日志。谢谢
标签: apache redirect jboss7.x httpd.conf mod-jk