首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache mod_proxy,tomcat5.5-有时无响应

Apache mod_proxy,tomcat5.5-有时无响应
EN

Stack Overflow用户
提问于 2011-06-05 00:15:03
回答 2查看 935关注 0票数 1

运行tomcat 5.5 (64位centos,8 gb内存)、mysql、apache

代码语言:javascript
复制
"-server -Xss1M -Xms2G -Xmx3550m -XX:+UseConcMarkSweepGC -XX:NewSize=1G -XX:MaxPermSize=512m XX:CMSInitiatingOccupancyFraction=70"

通过apache作为前端在tomcat上运行多个应用程序(tomcat上的各种上下文路径几乎有10个域)

代码语言:javascript
复制
apache config:
httpd.conf:

KeepAlive On

ProxyRequests Off

ProxyPreserveHost On

Timeout 1800

ProxyPass         /demo  http : //127.0.0.1:8080/demo

ProxyPassReverse  /demo  http :// 127.0.0.1.22:8080/demo

ProxyPass         /demo2  http :// 127.0.0.1:8080/demo2

ProxyPassReverse  /demo2  http :// 127.0.0.1.22:8080/demo2

SetEnv force-proxy-request-1.0 1

SetEnv proxy-nokeepalive 1

.htaccess

RewriteEngine on

RewriteCond %{HTTP_HOST} ^test\.web\.com$ [NC]

RewriteRule (.*) http : //test.web.com/demo/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^test2\.web\.com$ [NC]

RewriteRule (.*) http : //test2.web.com/demo2/$1 [L,R=301]

一切都很好,包括响应时间和所有10个实例(不同的域),但一天3-4次:http://test.web.com不给任何响应,它抛出空白页面(完全空白),而当它的空白,直接网址:http://127.0.0.1:8080/demo工作正常的时候。这意味着tomcat仍然可以正常工作,apache似乎无法将请求转发到tomcat -现在每个实例的负载是每分钟20个。

有时每件事都会持续3-4天,然后它就会发生,有时它就会一直发生。空白页面会出现一段时间-- 3-4分钟后--页面开始出现。

EN

回答 2

Stack Overflow用户

发布于 2011-06-09 05:53:38

尝试使用JKMount而不是您的代理配置?

我的apache配置也有类似的东西:

代码语言:javascript
复制
# 
# Mod_jk settings 
# 
JkWorkersFile "conf/workers.properties" 
JkLogFile "logs/mod_jk.log" 
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions indicate to send SSL KEY SIZE, 
JkOptions     +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format 
JkRequestLogFormat     "%w %V %T"


<VirtualHost 127.0.0.1:8443>
    SSLEngine On
    SSLCertificateFile conf/ssl/domainacom.cert
    SSLCertificateKeyFile conf/ssl/domainacom.key
    ServerAdmin boss@domain.com
    ServerName wwwdomainacom
    ErrorLog logs/wwwdomainacom-error_log
    CustomLog logs/wwwdomainacom-access_log common
    JkMount /* wwwdomainacom
</VirtualHost>

然后在conf/workers.properties中:

代码语言:javascript
复制
worker.list=domainacom,domainbcom

# Set properties for domainacom (ajp13) 
worker.domainacom.port=8009
worker.domainacom.host=localhost
worker.domainacom.type=ajp13
worker.domainacom.lbfactor=50
worker.domainacom.cachesize=10
worker.domainacom.cache_timeout=600
worker.domainacom.socket_keepalive=1
worker.domainacom.reclycle_timeout=300

# Set properties for domainbcom (ajp13) 
worker.domainbcom.port=8011
worker.domainbcom.host=localhost
worker.domainbcom.type=ajp13
worker.domainbcom.lbfactor=50
worker.domainbcom.cachesize=10
worker.domainbcom.cache_timeout=600
worker.domainbcom.socket_keepalive=1
worker.domainbcom.reclycle_timeout=300

最后在tomcat中:

代码语言:javascript
复制
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" 
           enableLookups="true" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" />

据我所知,我从来没有丢失过任何请求。

票数 0
EN

Stack Overflow用户

发布于 2011-09-22 20:27:36

您是否在使用负载均衡器?请确保它不是基于PING的。有时主机提供商会拒绝基于网络负载的ping。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6237878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档