使用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,时间太短了,有些比较大的请求在这个时间之内还没有进行完。综合上面所说,参考的配置如下:
-
<resin ...>
-
<cluster id="app-tier">
-
<server-default>
-
<socket-timeout>180s</socket-timeout>
-
<keepalive-max>3000</keepalive-max>
-
<keepalive-timeout>180s</keepalive-timeout>
-
<load-balance-idle-time>120s</load-balance-idle-time>
-
</server-default>
-
</cluster>
-
</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问题
分享到:
相关推荐
Java 使用 Apache+Resin 实现负载均衡设置是一种常见的解决方案,旨在提高系统的可用性和可扩展性。下面是该方案的详细说明: 一、为什么需要负载均衡? 在实际应用中,系统可能会面临高并发访问的情况,这时系统...
这种方式不仅充分发挥了Apache处理静态资源的能力,也利用了Resin处理动态内容的高效性。这对于构建高性能Web服务器来说是非常有益的。在实际操作过程中,需要注意解决依赖问题和编译错误,确保每一步都准确无误地...
Apache、Nginx和Resin都是在Web服务器领域中广泛使用的软件。Apache是经典的HTTP服务器,Resin是一款高性能的Java应用服务器,而Nginx以其高效的反向代理和负载均衡能力著称。将这三者结合使用,可以构建出一个高...
Apache和Resin是两个流行的Web服务器和应用服务器。Apache主要用于HTTP服务,而Resin则是用于部署Java Web应用程序的Servlet容器。将Apache与Resin整合在一起,可以利用Apache的强大功能(如负载均衡、SSL处理和静态...
Apache2和Resin是两种流行的Web服务器,它们在部署Java Web应用程序时经常被结合使用,以实现更高的性能和稳定性。Apache2是世界上最广泛使用的HTTP服务器,而Resin是一款高效的Servlet和JSP容器,由Caucho ...
通过这样的整合,我们可以充分利用Apache的稳定性和Resin的高性能,构建出一个高可用、高效率的Web服务架构。同时,负载均衡服务文件可能包含这些配置信息,以及监控和调整负载均衡策略的相关脚本或工具。在实际操作...
搭建 Apache 和 Resin 需要遵循一定的步骤,包括卸载 JDK、安装 JDK、安装 Apache、安装 Resin、添加 mod_rewrite 模块和添加 mod_proxy 模块。只有遵循正确的步骤,才能成功搭建 Apache 和 Resin。
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而Apache和Resin作为两个常用的Web服务器,可以通过集群配置实现负载均衡。本篇将详细讲解如何在Windows 2003操作系统上利用Apache和Resin搭建负载均衡环境,...
### Apache+Resin配置详解 ...总之,Apache+Resin的配置不仅能够满足日常网站运营的需求,还能为企业级应用提供稳定可靠的解决方案。通过合理配置和管理,这套组合将为用户提供更流畅、更安全的网络体验。
Apache 与 Resin 整合实现负载均衡是一种常见的 Web 服务器集群技术,旨在提高网站的可用性和性能。这种集成允许 Apache 作为前端服务器接收请求,并根据预设策略将这些请求分发到多个后端 Resin 服务器,这些服务器...
Apache 下 403 Forbidden 错误问题的解决方法可以分为四个方面:DirectoryIndex 设置问题、Order 和 Allow_override 设置问题、权限问题和 Options Indexes 设置问题。通过检查和修复这些问题,可以解决 403 错误...
它支持多种数据库,包括MySQL,提供了丰富的函数库和强大的错误处理机制。PHP的优势在于其易于学习,语法简洁,同时具备跨平台性,能在Windows、Linux等多种操作系统上运行。此外,PHP还可以与其他Web服务接口,如...
主要给大家介绍了关于在apahce部署python程序出现503错误的解决方法,文中通过示例代码介绍的非常详细,对同样遇到这个问题的朋友们具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
Apache2.2与Resin3的整合是为了实现动态内容(如JSP、Action请求)与静态资源的有效分离,以提高系统的访问效率和静态界面的独立发布与管理能力。在Windows 8环境下,以下是详细的整合步骤: 首先,我们需要安装...
在互联网服务领域,Resin和Apache是两种常见的Web服务器。Resin,作为Java应用服务器,以其高效的性能和对Servlet、JSP的支持而受到青睐;而Apache,作为开源HTTP服务器,以其稳定性和丰富的模块扩展性闻名。当我们...
NULL 博文链接:https://bstics.iteye.com/blog/752334
### 解决Windows下安装Apache+PHP出现LoadModule takes two arguments问题 在Windows环境下配置Apache与PHP集成时,可能会遇到一个常见的错误提示:“LoadModule takes two arguments, a module name and the name ...
对于初学者,可以参考“Apache错误日志时时查看”这篇博客文章,了解基本的查看方法和常见的错误类型;对于经验丰富的开发者,理解如何利用日志进行故障排查和性能优化,将提升其工作效率和服务器管理水平。