首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache作为jboss的负载均衡器以及另一个Apache服务器

Apache作为jboss的负载均衡器以及另一个Apache服务器
EN

Stack Overflow用户
提问于 2013-04-12 09:27:12
回答 2查看 1.4K关注 0票数 1

我有一个apache服务器,比如 server 1*(公开公开的),它充当使用mod_cluster的一些jboss服务器(防火墙后面)的负载均衡器。现在,我想将我的静态内容(映像/css/htmls)和一些cg脚本安装在两个apache服务器上,比如**server3 2server3 (防火墙后面)。

现在,我希望server1与jboss服务器一起充当这些server2和server3的负载均衡器。

有了这种安排,部署在jboss上的任何应用程序请求都需要路由到jboss,任何静态内容请求都应该转到server2server3

以下是我正在使用的版本

Linux服务器apache httpd - 2.2.22 JBOSS 6

我需要在server1中使用什么样的机制/配置才能做到这一点?请看看是否有人能帮上忙。

EN

回答 2

Stack Overflow用户

发布于 2013-05-21 13:09:08

您只需添加一个ProxyPass设置即可。mod_cluster与ProxyPass兼容,因此您可以同时使用两者。

例如,如果我希望gif映像由httpd而不是AS7提供,我可以添加:

代码语言:javascript
复制
ProxyPassMatch ^(/.*\.gif)$ !  

此外,如果你

代码语言:javascript
复制
CreateBalancers 1

mod_cluster不会为你创建代理,你必须自己去做。这给了你一个额外的控制。例如:

代码语言:javascript
复制
ProxyPassMatch ^/static/ !
ProxyPass / balancer://qacluster stickysession=JSESSIONID|jsessionid nofailover=on
ProxyPassReverse / balancer://qacluster
ProxyPreserveHost on

在前面的示例中,我们将除/静态/内容以外的任何内容代理给工作人员。

  • 注意:如果您遇到任何与cookie相关的问题,您可能需要使用ProxyPassReverseCookieDomain和ProxyPassReverseCookiePath。
  • 注意,qacluster在我的配置中。默认情况下是my群集,因此为了命名平衡器qacluster,我将它添加到mod_cluster配置中(VirtualHost之外): ManagerBalancerName调色器

如果不清楚,请回答,我可以再详细说明。

票数 1
EN

Stack Overflow用户

发布于 2013-10-25 15:41:04

我也遇到了同样的问题:我们使用Apache服务器进行静态内容,JBOSS作为7服务器处理动态内容( JSF应用程序)。

因此,在Load模块末尾添加以下属性将告诉您

代码语言:javascript
复制
CreateBalancers 0   

告诉"0:在httpd中定义的所有VirtualHosts中创建“

更多网址:cluster/1.2.0/html/native.config.html#d0e485

下面的配置解决了图像和样式页没有显示的问题。

代码语言:javascript
复制
<VirtualHost *:80>
  ServerName dev.rama.com
  DocumentRoot "/var/www/assests"
  UseAlias 1
  ProxyPassMatch ^(.*\.bmp)$ !
  ProxyPassMatch ^(.*\.css)$ !
  ProxyPassMatch ^(.*\.gif)$ !
  ProxyPassMatch ^(.*\.jpg)$ !
  ProxyPassMatch ^(.*\.js)$ !
  ProxyPassMatch ^(.*\.png)$ !
 <Directory /var/www/assests>
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
 </Directory>

注意: web应用程序的所有资产都在/var/www/assests的HTTP服务器上,而我正在访问的url是端口80上的dev.rama.com。

因此,当它看到这个ProxyPassMatch ^(.*.css)$ !时,we服务器就知道这些css文件是http服务器的本地文件,我们不需要转到Jboss服务器。

更多信息请访问proxy.html#proxypass

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

https://stackoverflow.com/questions/15967652

复制
相关文章

相似问题

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