qq591577286 发表于 2018-11-28 13:35:49

Apache+tomcat集群和负载均衡使用mod_proxy总结

  原文:http://www.weiruoyu.cn/?p=698
  0.做集群,首先安装jdk,tomcat,apache。

  在apache端
  1.先停止后删除
  # service httpd stop
  # yum remove httpd
  2.安装apche的命令:
  #./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared="proxy proxy_http proxy_ftp proxy_connect proxy_balancer headers"

  #make
  #make install

  之所以但说这个安装,是因为我们使用的是mod_proxy,安装后确定
  # ll /usr/local/apache/modules/
总计 636
-rw-r--r-- 1 root root9149 10-24 15:59 httpd.exp
-rwxr-xr-x 1 root root 42995 10-24 16:00 mod_headers.so
-rwxr-xr-x 1 root root 100940 10-24 16:00 mod_proxy_ajp.so
-rwxr-xr-x 1 root root 57525 10-24 16:00 mod_proxy_balancer.so
-rwxr-xr-x 1 root root 29815 10-24 16:00 mod_proxy_connect.so
-rwxr-xr-x 1 root root 72951 10-24 16:00 mod_proxy_ftp.so
-rwxr-xr-x 1 root root 75321 10-24 16:00 mod_proxy_http.so
-rwxr-xr-x 1 root root 41224 10-24 16:00 mod_proxy_scgi.so
-rwxr-xr-x 1 root root 178832 10-24 16:00 mod_proxy.so
  下面要有这几个*.so的文件。
  1.然后修改httpd.conf文件
  1.1:Include conf/extra/httpd-vhosts.conf前面的#去掉。(是为了连接httpd-vhosts这个文件,使用其配置)
  1.2:最下面添加:

[*]  ProxyRequests Off
[*]  
[*]  BalancerMember ajp://127.0.0.1:6045 loadfactor=1route=tomcat_test1
[*]  BalancerMember ajp://127.0.0.1:6055 loadfactor=1route=tomcat_test2
[*]  
  注意:127.0.0.1是本机,可以换为其它IP。6045是端口,tomcat里server.xml的端口,这个端口是:。
  2.修改apache目录下/usr/local/apache/conf/extra/httpd-vhosts.conf

[*]  
[*]  ServerAdmin xy5300@qq.com
[*]  ServerName localhost
[*]  ServerAlias localhost
[*]  ProxyPass / balancer://cluster/ stickysession=jsessionidnofailover=On
[*]  ProxyPa***everse / balancer://cluster/
[*]  ErrorLog "logs/clustertest-error.log"
[*]  CustomLog "logs/clustertest-access.log" common
[*]  

  把这个字段前面都加上#,然后在最下面添加
  其中的的virtualHost*:80为HttpServer监听端口。
  ServerAdmin:管理员邮箱
  ServerName: 服务器名称
  ServerAlias: 配置服务器域名或IP,如果有多个域名或者域名和IP同时使用,则使用空格隔开。
  

  ProxyPass / balancer:// 是告诉Apache需要进行负载均衡的代理,后面的cluster是集群名,可以随意取,转发时带上session的名称。
  

  ProxyPa***everse 这行配置的含义是,使Apache调整HTTP重定向应答中Location, Content-Location, URI头里的URL。这样可以避免在Apache作为反向代理使用时,后端服务器的HTTP重定向造成的绕过反向代理的问题。
  

  两个日志引擎日志名可以自己取
  

  ErrorLog负责记录错误日志
  

  CustomLog负责记录所有的http访问以及返回状态
  3.修改tomcat。
  3.1如果同一台机器2个tomcat则需要修改3个端口,保持不一样,反之跳过3.1步骤。
   (关闭端口)
     (连接端口)
   (集群链连接端口)
   3.2 找到删除,并添加
  
  tomcat_test1 是对应httpd.conf里的route=tomcat_test1参数
  并在下面添加:
  


[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
[*]  
  两个tomcat都要做修改,其中注意上面代码里面的part="4000",两个tomcat在同一台服务器上,要修改为不同的,如4001.

  3.3 添加 这个是最容易忽略的。

  在所使用的工程应用下,web.xml里倒数第二行添加即可。
  4.测试了
  4.1测试负载均衡
  4.2测试session复制
  上面两个测试在上一篇文章有提到,可能比较乱。
  把下面的两个下载放到tomcat里面webapps里面然后重启进行测试。
  

  



附件:http://down.51cto.com/data/2359151

页: [1]
查看完整版本: Apache+tomcat集群和负载均衡使用mod_proxy总结