使用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问题
Related Posts:
Ext中设置Ajax超时时间
PHP中出现“Unable to load dynamic library”问题的解决方法
Resin中对日志输出的配置
Apache+Resin下如何写伪静态和301跳转
Apache和Resin组合时UrlRewriteFilter失效的解决方法
分享到:
相关推荐
Tomcat 报错 Service Temporarily Unavailable 解决方式 Service Temporarily Unavailableerror 是 ...在这个例子中,我们可以使用上述方法之一或多种方法来解决 Tomcat 报错 Service Temporarily Unavailable 错误。
最近网站刷新后经常出现503 Service Temporarily Unavailable错误,有时有可以,联想到最近在nginx.conf里做了单ip访问次数限制,(limit_req_zone $binary_remote_addr zone=allips:20m rate=20r/s;) 把这个数量放大...
总的来说,解决"Service Temporarily Unavailable"的503错误,需要结合服务器的实际情况,从硬件、软件、网络等多个层面进行分析和优化。同时,定期进行维护和监控,确保服务器的稳定运行,能够为用户提供更好的访问...
503是一种HTTP状态码,是服务器出错的一种返回状态,由于临时的服务器维护或者过载...每个网站都有其最大的负载量,当访问请求达到这个值的时候就会出现503错误,解决办法可以加大请求队列,默认值为1000。 还有一种可能
2. **Java技术栈**:Resin是基于Java的,这意味着它支持Java EE(Enterprise Edition)标准,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)和JPA(Java Persistence API)。开发人员可以利用这些技术...
rmmod命令的源码,busybox自带的rmmod运行的时候总是去找一个临时文件夹,如果系统不存在则会卸载失败,此程序不检测文件夹,卸载驱动的时候一定会成功
错误中的“Resource temporarily unavailable”表示系统资源(如文件描述符、内存或CPU时间)在当前时刻无法获取。在本例中,这可能是由于以下原因: 1. **PHP-FPM的工作进程不足**:PHP-FPM的工作进程数量可能不...
OA安装Resin服务
28) 480 Temporarily Unavailable:被叫用户暂时不可用。 29) 481 Call/Transaction Does Not Exist:请求与服务器记录不匹配。 30) 482 Loop Detected:请求中包含服务器自己的路径,表示路由循环。 31) 483 Too ...
* 503 Service Unavailable——服务不可用:表示服务器当前不可用或维护中。 * 504 Gateway Timeout——网关超时:表示服务器作为网关或代理时超时。 * 505 HTTP Version Not Supported——HTTP 版本不受支持:表示...
- 503 Service Unavailable:服务不可用。 - 504 Server Timeout:服务器超时。 - 505 SIP Version Not Supported:服务器不支持请求的SIP协议版本。 - 513 Message Too Large:消息过长。 6xx 全局失败: - 600 ...
SIP错误码大全 SIP(Session Initiation Protocol)是用于互联网上进行会话建立、修改和终止的应用层协议...了解这些错误码,可以帮助开发者和管理员更好地理解和解决SIP协议中的问题,从而提高系统的稳定性和可靠性。
* 503 Service Unavailable:表示服务不可使用。 * 504 Server Timeout:表示服务器超时。 * 505 Version Not Supported:表示不支持该版本:服务器不支持SIP协议的这个版本。 * 513 Message Too Large:表示消息过...
- 503 Service Unavailable:服务器暂时无法处理请求。 6. 全局性错误(6xx):表示服务器不能处理请求。例如: - 600 Busy Everywhere:所有目的地都忙。 - 603 Decline:请求已被明确拒绝。 此外,SIP还使用...
OS error code 11: Resource temporarily unavailable 操作系统错误代码11:资源暂时不可用 OS error code 12: Cannot allocate memory 操作系统错误代码12:无法分配内存 OS error code 13: Permission denied 操作...
在标题提到的`syslog4j-0.9.46.jar`版本中,主要解决了消息内容发送不完整的问题,这是一个关键的改进,尤其是在需要完整记录和分析日志数据的场景下。 在syslog4j的早期版本,例如0.9.30,当尝试发送的消息内容...