- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用(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/
我的网络应用程序位于 mysite.com:8080。我想通过输入 webapp.mysite.com 来访问它。 因此,我按照以下步骤操作: 1)启用所需的模块: a2enmod 代理a2enmod
我有一个适用于显式声明的服务器名称的配置: ServerAdmin me@myco.com ServerName sub0.sub1.myco.com ProxyReques
我有像这样路由的 jquery ajax 请求 var data = new FormData(); data.append('payload1',payload); data.appen
我试图让 Apache 根据特定条件重写 URL,但它失败了。我曾尝试寻找答案,但一无所获。我们使用 Apache 作为我们的网络服务器,并将请求代理到 Tomcat 以使用我们的 Coldfusio
我有一个以/{parameter} 形式接受参数的 REST 服务 还有 Apache2 将请求转发到网络服务 AllowEncodedSlashes NoDecode LogLevel d
如果我有两个代理规则并且它们“重叠”,有没有办法指定最重要的规则? 示例(虚拟主机定义的一部分) ProxyPass /foo http://bar:8180/ ProxyPass / http://
如何在不重定向到另一台服务器或 IP 的情况下使用 mod_proxy 设置反向代理?这将是一个虚拟主机环境。我想这样做的原因是 mod_proxy 处理与客户端浏览器的通信,从而释放 Web 服务器
我在使用 mod_proxy 和 proxypass 指令时出现以下错误: 我的虚拟主机文件: LoadModule proxy_module modules/mod_proxy.so
我一直通过 mod_jk 使用 Apache + Tomcat。要告诉 Apache 不要将/recources 转发给 Tomcat,只需将它放在 vhosts 中: SetEnvIf Reque
我使用以下配置将 httpd 与 tomcat 结合使用: ProxyPass / ajp://localhost:8009/MyProject ProxyPassReverse / ajp://lo
我使用的是 Apache 2.2.16 和 Tomcat 7.0.16。我有 3 个执行 3 个不同 war 文件的 Tomcat 实例。为了绕过请求,我用 mod_proxy 配置了 httpd。
我一直遇到 Apache 的 mod_proxy 的问题,它不会转发任何流量。我使用的是运行 Ubuntu 13.04 的 Windows Azure 虚拟机,并为其配置了正确的 HTTPS 端点(端
我有 apache2,我想做以下事情。我想接受一个带有基本身份验证的请求,根据 htpasswd 文件检查它,然后将请求代理到另一个带有基本 http 身份验证的 http 服务器。 无需编写一些代码
我正在创建一个 html5 - JavaScript 应用程序(用于移动设备,使用 PhoneGap)。我必须与 REST 服务交互。 服务现在运行在 "http://localhost:8080/b
嘿嘿。我将 mod_proxy 与 apache2 一起使用,为在本地计算机上运行的多个 servlet 应用程序提供 vhost 能力。在大多数情况下,它工作正常。请求进入 apache,然后被定向
所以我们正在运行一个由 Apache 2.2 进行负载平衡的 2 个以上后端服务器(恰好是 JBoss 服务器)的集群。有时,后端服务器可能会变得无响应(这意味着它们会等待很长时间才能回复请求,但不会
使用 Apache 虚拟主机和 mod_proxy 我想访问端口 8080 上的 jetty 实例中可用的 java 应用程序(myapp)。 与 ProxyPass / localhost:8080
我有两台 JBoss AS 7 服务器,我正在使用 mod_proxy 进行负载平衡。 .除了粘性 session 之外,几乎所有东西都可以正常工作。我在 cookie 中的 session ID 不
我在可以从互联网(外部)和公司内部(内部)访问的环境中的 Servlet 容器(端口 8080)上运行 WebApplication,例如 http://external.foo.bar/MyAppl
我在让 mod_proxy 将流量正确转发到在同一台机器上运行的不同网络服务器时遇到问题,以获取预定义的子文件夹。理想情况下,domain.com/docs 应该转发到 127.0.0.1:3000,
我是一名优秀的程序员,十分优秀!