首页 » tomcat » 正文

Apache+tomcat无法访问jsp文件

今天通过监控系统发现,www.test.com偶尔出现无法访问。

1、在监控的机器上执行curl www.test.com,返回的结果如下:

503 Service Temporarily Unavailable

2、通过浏览器请求http://www.test.com/t.jsp,t.jsp的内容如下:

<%

out.println(1);

%>

浏览器返回结果

Bad Gateway

The proxy server received an invalid response from an upstream server.

重启uc系统会好,但是还是会出现偶尔无法访问,时间不规律。

3、查询mod_jk.log,发现如下报错:

[Sat Jan 11 15:14:31.527 2014] [4832:140240705804032] [error] ajp_send_request::jk_ajp_common.c (1630): (www) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=22)

4、解决办法:

增加tomcat的server.xml文件中AJP的maxThreads值

下面是一个例子:

<Connector port=”8009″ protocol=”AJP/1.3″

maxThreads=”2048″ minSpareThreads=”100″ maxSpareThreads=”1024″

backlog=”100″ connectionTimeout=”20000″

enableLookups=”false” redirectPort=”8443″ />

让设置生效必须重新启动tomcat

参考资料地址:http://it.chinawin.net/softwaredev/article-109b2.html

5、再次观察mod_jk.log,发现如下错误:

[Sat Jan 11 15:22:01.917 2014] [5394:140240705804032] [error] ajp_get_reply::jk_ajp_common.c (2126): (www) Tomcat is down or refused connection. No response has been sent to the client (yet)

解决办法:

修改TOMCAT的server.XML的配置,里面的超时(connectionTimeout)设置太大了。

下面是一个例子:

<Connector port=”8009″ connectionTimeout=”300000″          protocol=”AJP/1.3″

让设置生效必须重新启动tomcat

参考资料:http://free.yes81.net/yes81/view-13470.html

6、再次观察mod_jk.log,没有发现错误,全部都是info,以下是info的一条日子,监控系统也在没有报警,问题解决。

[Sat Jan 11 14:42:49.945 2014] [5496:140240705804032] [info] ajp_send_request::jk_ajp_common.c (1619): (www) all endpoints are disconnected, detected by connect check (1), cping (0), send (0)

发表评论