【发布时间】:2015-11-12 15:17:11
【问题描述】:
我正在开发一个带有 Java 后端的 Web 应用程序,在下面提到的带有 Loadbalancer (zen Loadbalancer) 环境的配置中
APP1 = Centos 7, 阿帕奇 2.4.6, 雄猫 7.0.53, Mod_Ajp 连接器,
APP2 = Centos 7, 阿帕奇 2.4.6, 雄猫 7.0.53, Mod_Ajp 连接器,
在一段时间后我遇到了问题 tomcat JVM 没有响应 apache 请求 在 apache 错误日志中出现以下错误 “(70007)指定的超时已过期:ah01030: ajp_ilink_receive() 无法接收标头”
在网络浏览器中出现“发生内部服务器错误。请稍后再试”
我验证了 tomcat 和 Apache 服务器都在运行,参考图片
但没有响应 jvm 线程,这意味着 Mod_ajp 连接器挂起 我在 server.xml 文件中添加了以下条目。再次面临同样的问题。
" 在端口 8009 上定义一个 AJP 1.3 连接器 -->
**<Connector port="8009" protocol="AJP/1.3"
acceptorThreadCount="2" maxThreads="1400" acceptCount="200" minSpareThreads="50" emptySessionPath="true" enableLookups="false"
connectionTimeout="180000" redirectPort="8443" />"**
我的 AJP 设置
ProxyPreserveHost 开启
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
RewriteRule ^/$ /index.html [L]
RewriteCond %{REQUEST_URI} !^/mydata
RewriteCond %{REQUEST_URI} !^/(shibboleth-(sp|idp)|Shibboleth.sso|SAML|server-status)
ReWriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^(.*) ajp://localhost:8009$1 [P]
【问题讨论】:
标签: java linux apache tomcat7 centos7