gpt4 book ai didi

.htaccess - Apache mod_proxy、tomcat 5.5 - 有时无响应

转载 作者:行者123 更新时间:2023-11-28 22:32:58 25 4
gpt4 key购买 nike

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

"-server -Xss1M -Xms2G -Xmx3550m -XX:+UseConcMarkSweepGC -XX:NewSize=1G -XX:MaxPermSize=512m XX:CMSInitiatingOccupancyFraction=70"

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

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不给出任何响应,它抛出空白页面(完全空白),而在其空白时,直接 url:http://127.0.0.1:8080/demo 工作正常。这意味着 tomcat 仍然可以正常工作,似乎 apache 无法将请求转发给 tomcat - 现在每个实例的负载是每分钟 20 个。

有时一切正常 3-4 天,然后就发生了,有时它会一直发生。空白页面出现一段时间 - 3-4 分钟后 - 页面开始出现。

最佳答案

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

我有一些与 apache 配置类似的东西:

# 
# 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 中:

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中了:

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="true" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" />

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

关于.htaccess - Apache mod_proxy、tomcat 5.5 - 有时无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6237878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com