我已经build立了apache-tomcat集群(Ubuntu服务器),并且我在链接之后使用了tomcat支持的mod_jk集群技术。 我已经设置了一个负载平衡器和两个Web服务器。 主要的问题是部署WAR文件和哪个Web服务器? 我已经了解了将战争文件部署到群集中的其他tomcat服务器的Farmed Deployment,但是我还没有完成它。 我在两个Web服务器的元素中以下面的方式使用了农场部署者。 Web服务器1(192.168.1.101) <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/usr/share/tomcat/temp/" deployDir="/usr/share/tomcat/webapps/" watchDir="/usr/share/tomcat/watch/" watchEnabled="true"/> Web服务器2(192.168.1.102) <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/usr/share/tomcat/temp/" deployDir="/usr/share/tomcat/webapps/" watchDir="/usr/share/tomcat/webapps/" watchEnabled="false"/> 我将WAR放在Web服务器1的监视目录中,但不会部署到其他服务器。 任何人得到这个工作,我做错了什么?请让我知道! 谢谢! 更新:1 我可以在catalina.out日志中的任一台计算机上看到以下信息, 14 Aug, 2011 9:12:11 PM org.apache.catalina.ha.deploy.FarmWarDeployer start SEVERE: FarmWarDeployer can only work as host cluster subelement! 它甚至不部署到webserver1,也不部署到webserver2。 访问网站时出现404错误。 还有什么帮助? 还有一件事,我没有从apt库安装tomcat,但是我从源码中构build了它,这对我们的java应用程序来说是完美的。
我正在尝试使用mod_jk Tomcat Clustering几个月,到目前为止没有那么糟糕,但在部署期间面临一个问题。 我正在使用FarmDeployer将WAR复制并部署到集群中的其他节点,但大部分时间WAR未正确部署,从而使页面出现404错误。 即使在删除爆炸的战争目录并再次使用tomcat提取WAR之后,浏览器仍然无法渲染实际的站点,直到我重新启动/停止该特定节点上的tomcat服务(当然, http:// node-ip / myapp工作如果重新部署的战争,而不是http://site1.mydomain.net一次呈现404页)。 而且我认为这个问题是与浏览器相关的(尝试所有的浏览器),当在404错误之后重新部署时在其他计算机上呈现的页面。 我也尝试fail_on_status ,所以它把节点错误阶段,曾经呈现404 HTTP状态,并redirect到其他节点,但在我的testing,我发现它完全把这些节点错误状态,没有请求发送到这些节点,直到重新启动他们正在回来工作。 负载平衡器上的Workers.properties: workers.tomcat_home=/usr/share/tomcat workers.java_home=/usr/lib/jvm/java-6-openjdk ps=/ worker.list=cluster,balancer1,status worker.balancer1.port=8009 worker.balancer1.host=localhost worker.balancer1.type=ajp13 worker.balancer1.lbfactor=2 worker.balancer1.cache_timeout=20 worker.balancer1.socket_timeout=20 #worker.balancer1.fail_on_status=-404,-503 worker.web1.port=8009 worker.web1.host=192.168.1.8 worker.web1.type=ajp13 worker.web1.lbfactor=4 worker.web1.redirect=web2 worker.web1.cache_timeout=20 worker.web1.socket_timeout=20 #worker.web1.fail_on_status=-404,-503 worker.web2.port=8009 worker.web2.host=192.168.1.9 worker.web2.type=ajp13 worker.web2.lbfactor=4 worker.web2.redirect=web1 worker.web2.cache_timeout=20 worker.web2.socket_timeout=20 #worker.web2.fail_on_status=-404,503 worker.cluster.type=lb worker.cluster.balance_workers=web1,web2,balancer1 worker.cluster.sticky_session=True worker.cluster.sticky_session_force=False # Status worker for managing load balancer worker.status.type=status 任何人有任何想法跳过404错误节点,而不是打其他正确部署的节点? 至less在configuration中有任何提示,以便在面对启用了stickey […]
我们有一个Apache服务器负载均衡请求下载到两个不同的服务器。 mod_jk错误日志被填充以下types的错误 [Mon Feb 13 16:59:02.948 2012] [19453:139726932305664] [error] ajp_process_callback::jk_ajp_common.c (1800): ajp_unmarshal_response failed [Mon Feb 13 16:59:02.948 2012] [19453:139726932305664] [info] ajp_service::jk_ajp_common.c (2540): (mrxdf3) sending request to tomcat failed (recoverable), because of server error (attempt=1) [Mon Feb 13 16:59:03.048 2012] [19453:139726932305664] [info] ajp_send_request::jk_ajp_common.c (1490): (mrxdf3) did not receive END_RESPONSE, closing socket -1 [Mon Feb 13 16:59:03.054 […]
在使用Glassfish之前使用Apache http服务器的build议(检查问题 )之后,我使用了以下教程并使其工作,但仅在端口80上工作。 我的意思是现在我可以键入: www.mydomain.com 它运行。 但是,如果我运行一个需要https的应用程序,即在web.xml(一个J2EE应用程序) <transport-guarantee>CONFIDENTIAL</transport-guarantee> 当我键入: www.mydomain.com 它会自动加载: https://www.mydomain.com:8181 我不想显示端口8181,我只想: https : //www.mydomain.com 。 PS:我将只使用在“/”上下文中运行的一个应用程序 。 以下是我的configuration: * workers.properties文件: worker.list=ajp13unsecure, ajp13secure worker.ajp13unsecure.type=ajp13 worker.ajp13unsecure.host=localhost worker.ajp13unsecure.port=8009 worker.ajp13secure.type=ajp13 worker.ajp13secure.host=localhost worker.ajp13secure.port=8009 *我添加的httpd.conf文件: Listen 443 # Load mod_jk module # Update this path to match your modules location LoadModule jk_module modules/mod_jk.so # Where to find workers.properties # […]
我在Tomcat 6.0.26上运行一些应用程序。 在web服务器前面有一个Apache,通过mod_jk与它通话。 每隔几个小时,当我尝试访问应用程序浏览器时,都会简单地旋转,并且没有检索到内容。 在Tomcat日志中没有报告错误,但我喜欢mod_jk日志中的这样的错误: [Sun Jul 04 21:19:13 2010][error] ajp_service::jk_ajp_common.c (1758): Error connecting to tomcat. Tomcat is probably not started or is listening on the wrong port. worker=***** failed [Sun Jul 04 21:19:13 2010][info] jk_handler::mod_jk.c (1985): Service error=0 for worker==***** [Sun Jul 04 21:19:13 2010][info] ajp_connection_tcp_get_message::jk_ajp_common.c (955): Tomcat has forced a connection close for […]
对不起,如果这已经张贴/已经回答,但我找不到简单的答案。 我有两个应用程序一个JSP和一个PHP托pipe在运行Apache和Tomcat的同一台机器上。 Apache正在80和8080上侦听Tomcat。 我在哪里可以得到一个分步指南,让url指向特定的应用程序。 当谈到linux和apache设置时,我不是很了解。 到目前为止,我发现的所有信息要么导致我到另一个复杂的环节,要么不能遵循指示。 请帮忙。
当我的用户使用Android设备连接JSON Rest服务时,我收到以下exception: java.io.IOException: Socket read failed at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:313) at org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:364) at org.apache.coyote.ajp.AjpProcessor.receive(AjpProcessor.java:331) at org.apache.coyote.ajp.AbstractAjpProcessor.refillReadBuffer(AbstractAjpProcessor.java:614) at org.apache.coyote.ajp.AbstractAjpProcessor$SocketInputBuffer.doRead(AbstractAjpProcessor.java:1065) at org.apache.coyote.Request.doRead(Request.java:422) at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:290) at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:431) at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:315) at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:200) at org.codehaus.jackson.impl.ByteSourceBootstrapper.ensureLoaded(ByteSourceBootstrapper.java:340) at org.codehaus.jackson.impl.ByteSourceBootstrapper.detectEncoding(ByteSourceBootstrapper.java:137) at org.codehaus.jackson.impl.ByteSourceBootstrapper.constructParser(ByteSourceBootstrapper.java:197) at org.codehaus.jackson.JsonFactory._createJsonParser(JsonFactory.java:542) at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:389) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1454) at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.readInternal(MappingJacksonHttpMessageConverter.java:124) at org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:153) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.readWithMessageConverters(HandlerMethodInvoker.java:641) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveRequestBody(HandlerMethodInvoker.java:605) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:354) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424) at […]
我有2个服务器,Apache和Jboss。 使用JKmount .war文件被挂载并呈现一个复杂的网站。 例如: JkMount /directory/* ajp13 Alias /directory /jboss/server/default/deploy/directory.war <Directory /jboss/server/default/deploy/directory.war> Order allow,deny allow from all Options -Indexes </Directory> <Directory /jboss/server/default/deploy/directory.war/WEB-INF> deny from all </Directory> 我想在Apache端使用mod_rewrite来改变mod_jk返回的URL。 例如: RewriteEngine On RewriteCond %{REMOTE_ADDR} !^192.168.1.1$ RewriteRule /.* http://server.example/redirect.html [R=301,L] 目前上面的代码只影响Apache返回的图像,而不会影响mod_jk返回的页面。 这可能吗? 它是如何完成的? 有一个类似的问题在StackOverFlow询问,但给出一个select,如果有可能我想处理这个内部的Apache,而不是改变Jboss的configuration。 服务器是OpenSuse 11.1,我怀疑可能有一些模块优先顺序问题,但我还没有能够证实这一点。 url的例子是: http://site.example/directory/index.jsp http://site.example/foo/other.html 在这个例子中,第一个URL使用上面configuration中列出的指令安装在mod_jk中,不会被mod_rewrite重写。 第二个URL是Apache站点中的正常目录,并被正确地重写。 谢谢大家
我正在尝试使用mod_jk进行负载平衡。 负载均衡器:172.17.8.189(HTTPD + mod_jk) Node1 :172.17.8.193(apache tomcat实例1) Node2 :172.17.8.196(apache tomcat实例2) 我检查了我的tomcat实例,他们都在8009听。但是,我不断收到这些错误。 [Tue Jun 18 17:49:14 2013][18057:47118810657648] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/jk.shm.18057 errno=13. Load balancing workers will not function properly. [Tue Jun 18 17:49:14 2013][18057:47118810657648] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized debugging日志是 [Tue Jun 18 18:14:00 2013][18778:47687756850032] [debug] jk_set_time_fmt::jk_util.c (461): Pre-processed log time stamp format is '[%a […]
我正在用Apache服务器在Tomcat 7中进行群集。 它也工作得很好。 不过,我有以下问题: 1)我正在尝试监视mod_jk状态页面; 但它是给404错误。 2)在Log中显示以下错误 – [Tue Dec 17 13:16:51.019 2013] [2236:140599476504544] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/mod_jk.shm.2236 errno=13. Load balancing workers will not function properly. [Tue Dec 17 13:16:51.019 2013] [2236:140599476504544] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized [Tue Dec 17 13:16:51.041 2013] [2237:140599476504544] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/mod_jk.shm.2237 errno=13. Load balancing workers will not […]