`
JetMah
  • 浏览: 72605 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Apache和Resin组合时间歇性出现503错误的解决方法

阅读更多

原文出处: Apache和Resin组合时间歇性出现503错误的解决方法
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

 

使用Apache和Resin进行组合时,如果Resin关闭或中断的时会出现如下的HTTP 503错误:

Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

造成这个错误的原因是因为Resin无法启动,可以单独访问resin(如8080端口)查看具体的错误。

我这里要说的是,在Resin和Apache都非常非常正常的情况下,间歇性的出现上述错误,也就是说不是一直有,而是偶尔出现这个错误,刷新下页面就好了。这个问题非常郁闷,后来在resin的bug报告中(见参考资料)竟然发现了解决的办法:

The important configuration are load-balance-socket-timeout, socket-timeout, load-balance-idle-time and keepalive-timeout. The two load-balance-* configure mod_caucho. socket-timeout and keepalive-timeout configure the Resin side.

load-balance-socket-timeout needs to be large enough to handle any server-side processing delays before the first data.

socket-timeout and keepalive-timeout need to be larger than load-balance-idle-time because they need to keep the connection open for a keepalive request.

For a diagram, see

http://caucho.com/resin/admin/load-balancing.xtp

 

也就是说,Resin在同Apache进行组合通讯的时候主要依靠四个参数:load-balance-socket-timeout, socket-timeout, load-balance-idle-time 和 keepalive-timeout,其中两个load-balance-*参数用来设置mod_caucho(就是与Apache组合的so文件),socket-timeout和keepalive-timeout用来设置Resin。至于参数数值的大小顺序依此是:load-balance-socket-timeout > socket-timeout 和 keepalive-timeout > load-balance-idle-time。上述四个参数的官方说明地址为:http://caucho.com/resin-3.1/doc/server-tags.xtp

 

那为什么会间歇性出现503错误呢?这个是因为resin默认的socket-timeout为65s,时间太短了,有些比较大的请求在这个时间之内还没有进行完。综合上面所说,参考的配置如下:

  1. <resin ...>
  2.     <cluster id="app-tier">
  3.         <server-default>
  4.             <socket-timeout>180s</socket-timeout>
  5.             <keepalive-max>3000</keepalive-max>
  6.             <keepalive-timeout>180s</keepalive-timeout>
  7.             <load-balance-idle-time>120s</load-balance-idle-time>
  8.         </server-default>
  9.     </cluster>
  10. </resin>

从此,这个世界清净了。

 

参考资料:
Apache 2.2.x + Resin 3.1.x: frequent 503 status error messages (Service Temporarily Unavailable)
0002862: Apache + Resin and 503 HTTP Error
resin apache问题

0
0
分享到:
评论

相关推荐

    java使用apache+resin实现负载均衡设置

    Java 使用 Apache+Resin 实现负载均衡设置是一种常见的解决方案,旨在提高系统的可用性和可扩展性。下面是该方案的详细说明: 一、为什么需要负载均衡? 在实际应用中,系统可能会面临高并发访问的情况,这时系统...

    Linux下Apache与Resin整合(详细)

    这种方式不仅充分发挥了Apache处理静态资源的能力,也利用了Resin处理动态内容的高效性。这对于构建高性能Web服务器来说是非常有益的。在实际操作过程中,需要注意解决依赖问题和编译错误,确保每一步都准确无误地...

    Apache + nginx + resin 详细配置

    Apache、Nginx和Resin都是在Web服务器领域中广泛使用的软件。Apache是经典的HTTP服务器,Resin是一款高性能的Java应用服务器,而Nginx以其高效的反向代理和负载均衡能力著称。将这三者结合使用,可以构建出一个高...

    apache,resin整合说明

    Apache和Resin是两个流行的Web服务器和应用服务器。Apache主要用于HTTP服务,而Resin则是用于部署Java Web应用程序的Servlet容器。将Apache与Resin整合在一起,可以利用Apache的强大功能(如负载均衡、SSL处理和静态...

    Apache2+resin-2.1.16

    Apache2和Resin是两种流行的Web服务器,它们在部署Java Web应用程序时经常被结合使用,以实现更高的性能和稳定性。Apache2是世界上最广泛使用的HTTP服务器,而Resin是一款高效的Servlet和JSP容器,由Caucho ...

    resin4.0和apache 2.2搭建服务器

    通过这样的整合,我们可以充分利用Apache的稳定性和Resin的高性能,构建出一个高可用、高效率的Web服务架构。同时,负载均衡服务文件可能包含这些配置信息,以及监控和调整负载均衡策略的相关脚本或工具。在实际操作...

    apache+resin在linux的搭建.doc

    搭建 Apache 和 Resin 需要遵循一定的步骤,包括卸载 JDK、安装 JDK、安装 Apache、安装 Resin、添加 mod_rewrite 模块和添加 mod_proxy 模块。只有遵循正确的步骤,才能成功搭建 Apache 和 Resin。

    Apache+Resin做负载均衡 [windows 2003]

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而Apache和Resin作为两个常用的Web服务器,可以通过集群配置实现负载均衡。本篇将详细讲解如何在Windows 2003操作系统上利用Apache和Resin搭建负载均衡环境,...

    apache+resin配置[定义].pdf

    ### Apache+Resin配置详解 ...总之,Apache+Resin的配置不仅能够满足日常网站运营的需求,还能为企业级应用提供稳定可靠的解决方案。通过合理配置和管理,这套组合将为用户提供更流畅、更安全的网络体验。

    apache与resin整合实现负载均衡.doc

    Apache 与 Resin 整合实现负载均衡是一种常见的 Web 服务器集群技术,旨在提高网站的可用性和性能。这种集成允许 Apache 作为前端服务器接收请求,并根据预设策略将这些请求分发到多个后端 Resin 服务器,这些服务器...

    apache下403 Forbidden错误问题解决方法.docx

    Apache 下 403 Forbidden 错误问题的解决方法可以分为四个方面:DirectoryIndex 设置问题、Order 和 Allow_override 设置问题、权限问题和 Options Indexes 设置问题。通过检查和修复这些问题,可以解决 403 错误...

    PHP MySQL Apache超强组合

    它支持多种数据库,包括MySQL,提供了丰富的函数库和强大的错误处理机制。PHP的优势在于其易于学习,语法简洁,同时具备跨平台性,能在Windows、Linux等多种操作系统上运行。此外,PHP还可以与其他Web服务接口,如...

    apache部署python程序出现503错误的解决方法

    主要给大家介绍了关于在apahce部署python程序出现503错误的解决方法,文中通过示例代码介绍的非常详细,对同样遇到这个问题的朋友们具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    apache2.2整合resin3+Eclipse远程调试

    Apache2.2与Resin3的整合是为了实现动态内容(如JSP、Action请求)与静态资源的有效分离,以提高系统的访问效率和静态界面的独立发布与管理能力。在Windows 8环境下,以下是详细的整合步骤: 首先,我们需要安装...

    Resin3.0.x+Apache2.0.x安装备忘录!

    在互联网服务领域,Resin和Apache是两种常见的Web服务器。Resin,作为Java应用服务器,以其高效的性能和对Servlet、JSP的支持而受到青睐;而Apache,作为开源HTTP服务器,以其稳定性和丰富的模块扩展性闻名。当我们...

    apache+resin+jdk

    NULL 博文链接:https://bstics.iteye.com/blog/752334

    解决windows下安装Apache+PHP出现LoadModule takes two

    ### 解决Windows下安装Apache+PHP出现LoadModule takes two arguments问题 在Windows环境下配置Apache与PHP集成时,可能会遇到一个常见的错误提示:“LoadModule takes two arguments, a module name and the name ...

    Apache错误日志时时查看

    对于初学者,可以参考“Apache错误日志时时查看”这篇博客文章,了解基本的查看方法和常见的错误类型;对于经验丰富的开发者,理解如何利用日志进行故障排查和性能优化,将提升其工作效率和服务器管理水平。

Global site tag (gtag.js) - Google Analytics