使用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 tomcat解决方式
最近网站刷新后经常出现503 Service Temporarily Unavailable错误,有时有可以,联想到最近在nginx.conf里做了单ip访问次数限制,(limit_req_zone $binary_remote_addr zone=allips:20m rate=20r/s;) 把这个数量放大...
一般来说,出现Service Temporarily Unavailable错误多半是因为网站访问量大,造成了流量超限或者并发数大引起的资源超限出现的错误
503是一种HTTP状态码,是服务器出错的一种返回状态,由于临时的服务器维护或者过载...每个网站都有其最大的负载量,当访问请求达到这个值的时候就会出现503错误,解决办法可以加大请求队列,默认值为1000。 还有一种可能
名称:Resin,版本:4.0.58,系统:Windows,位数:64 项目运行的服务器:Resin-4.0.58
rmmod命令的源码,busybox自带的rmmod运行的时候总是去找一个临时文件夹,如果系统不存在则会卸载失败,此程序不检测文件夹,卸载驱动的时候一定会成功
主要介绍了nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable),需要的朋友可以参考下
用rmmod卸载模块的时候会弹出错误,如下 – rmmod: can't change directory to '/lib/modules': No such file or directory
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 ,能够解决消息内容发送不完整问题,maven官网仓库只有0.9.30版本,那个版本会出现发送的消息过长时截断问题
通常,使用 ,当您尝试从多个进程中打开数据库句柄时,会出现锁定错误: events.js:72 throw er; // Unhandled 'error' event ^ OpenError: IO error: lock /home/substack/projects/level-party/example/data/...
错误提示:Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.解决方法 mod_bw-0.8.gz mod_...
研究目的是加快井筒施工速度,提高混凝土施工质量;根据高性能混凝土配制原则、配制途径及配合比试验,配制出符合冻结井施工的高性能混凝土;通过对井筒井壁质量进行观测,井壁质量良好,掘进速度创造出新水平,经济效益...
装了WIN10 64位 发现AVR STDIO+WINAVR编译时出现了上述错误,这是WINAVR与64位系统不兼容的缘故 毕竟WINAVR是老物了 不过还是好用 很多朋友用习惯了。 复制到 winavr下 utils\bin 中覆盖, 然后编译试试看
一个利用OpenCV保存摄像数据失败实践(加入线程) 出现的错误不知道如何解决 希望有能人帮忙解析一下错误在哪里。
limit_conn 模块的实现比 limit_req 简单,直接对拥有相同变量值的连接进行计数,超过限制的连接返回 503 错误(Service Temporarily Unavailable)。 实际上,由于某一时刻,一个连接上一般只有一个待处理请求,且...
---我删除了安装程序exe,因为它会将应用程序从不再在线的站点上拉下来。 将其重构为本地分布后,我将其放回原处。 同时,如果您愿意的话,可以从项目文件中自己构建应用程序---媒体库同步是一种用于将大型媒体库从...