`

java服务器在Linux下实现负载均衡 .

 
阅读更多
我们需要在前端放置一个Apache作为负载均衡器,后 台有若干台Apusic或者其它的类似于Tomcat/WebLogic等应用服务器,客户端发送到Apache的请求,将被分配到后台的这些真正完成请 求的服务器上。本文描述如何使用Apache作为负载均衡器的方法和不同的负载均衡的配置。

       在某些场景中,我们需要在前端放置一个Apache作为负载均衡器,后台有若干台Apusic或者其它的类似于Tomcat/WebLogic等应用服务 器,客户端发送到Apache的请求,将被分配到后台的这些真正完成请求的服务器上。本文描述如何使用Apache作为负载均衡器的方法。

       我们假设Apahce安装在 myserver 这台服务器上,并且希望用户访问http://myserver/ 时,能够将这些请求被负载到后台的两台服务器上,分别是:http://192.168.6.37:8080/ 和 http://192.168.6.37:6888/

一、安装并重新编译Apache

1、linux下Apache的安装

下载最新的Apache安装包httpd-2.2.3.tar.gz文件

1) 解压

         gzip –d httpd-2.2.3.tar.gz

         tar xvf httpd-2.2.3.tar

2) 解压以后,cd httpd-2.2.3 进入解压后的目录,在终端执输入以下命令:

./configure --prefix=/usr/local/httpd --enable-so --enable-proxy --enable-proxy-ajp --enable-proxy-http --enable-proxy-ftp --enable-proxy-connect --enable-proxy-balancer

      默认情况下,Apache安装是不会将这些文件编译进内核,因此,需要人工加载,而通过上述操作,在编译时会将这些DSO文件编译到内核中。

3) 在终端输入:make

4) 在终端输入:make install

5) 进入Apache的bin目录,在终端输入apachectl –k start

6) 在浏览器中输入http://myserver,默认是80端口,如果出现It works!,说明Apache已经正常启动。

2、window下Apache的安装

1) 下载apache_2.2.2-win32-x86-no_ssl.msi版本或其他版本的apache
2) 点击该文件,就可以直接安装
3) 要配置负载均衡,进入apache的安装目录下的conf目录,打开httpd.conf文件,将文件中mod_proxy.so、 mod_proxy_ajp.so、mod_proxy_balancer.so、 mod_proxy_connect.so、  mod_proxy_http.so 、mod_proxy_ftp.so所在行的注释去掉,就可以进行负载均衡的配置。

4) 在浏览器中输入http://myserver,默认是80端口,如果出现It works!,说明Apache已经正常启动。

二、配置Apache作为LoadBalance

将Apache作为LoadBalance前置机分别有三种不同的部署方式,分别是:

1 )轮询均衡策略的配置

进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入:

ProxyPass / balancer://proxy/         #注意这里以"/"结尾

<Proxy balancer://proxy>

       BalancerMember http://192.168.6.37:6888/

       BalancerMember http://192.168.6.38:6888/

</Proxy>

      我们来观察上述的参数“ProxyPass / balancer://proxy/”,其中,“ProxyPass”是配置虚拟服务器的命令,“/”代表发送Web请求的URL前缀,如:http: //myserver/或者http://myserver/aaa,这些URL都将符合上述过滤条件;“balancer://proxy/”表示要配 置负载均衡,proxy代表负载均衡名;BalancerMember 及其后面的URL表示要配置的后台服务器,其中URL为后台服务器请求时的URL。以上面的配置为例,实现负载均衡的原理如下:

      假设Apache接收到http://localhost/aaa请求,由于该请求满足ProxyPass条件(其URL前缀为“/”),该请求会被分发 到后台某一个BalancerMember,譬如,该请求可能会转发到 http://192.168.6.37:6888/aaa进行处理。当第二个满足条件的URL请求过来时,该请求可能会被分发到另外一台 BalancerMember,譬如,可能会转发到http://192.168.6.38:6888/。如此循环反复,便实现了负载均衡的机制。

2) 按权重分配均衡策略的配置

ProxyPass / balancer://proxy/         #注意这里以"/"结尾

<Proxy balancer://proxy>

        BalancerMember http://192.168.6.37:6888/  loadfactor=3

        BalancerMember http://192.168.6.38:6888/  loadfactor=1

</Proxy>

      参数”loadfactor”表示后台服务器负载到由Apache发送请求的权值,该值默认为1,可以将该值设置为1到100之间的任何值。以上面的配置 为例,介绍如何实现按权重分配的负载均衡,现假设Apache收到http://myserver/aaa 4次这样的请求,该请求分别被负载到后台服务器,则有3次连续的这样请求被负载到BalancerMember为 http://192.168.6.37:6888的服务器,有1次这样的请求被负载BalancerMember为http: //192.168.6.38:6888后台服务器。实现了按照权重连续分配的均衡策略。

3) 权重请求响应负载均衡策略的配置

ProxyPass / balancer://proxy/ lbmethod=bytraffic  #注意这里以"/"结尾

<Proxy balancer://proxy>

         BalancerMember http://192.168.6.37:6888/  loadfactor=3

         BalancerMember http://192.168.6.38:6888/  loadfactor=1

 </Proxy>

       参数“lbmethod=bytraffic”表示后台服务器负载请求和响应的字节数,处理字节数的多少是以权值的方式来表示的。 “loadfactor”表示后台服务器处理负载请求和响应字节数的权值,该值默认为1,可以将该值设置在1到100的任何值。根据以上配置是这么进行均 衡负载的,假设Apache接收到http://myserver/aaa请求,将请求转发给后台服务器,如果BalancerMember为http: //192.168.6.37:6888后台服务器负载到这个请求,那么它处理请求和响应的字节数是BalancerMember为http: //192.168.6.38:6888 服务器的3倍(回想(2)均衡配置,(2)是以请求数作为权重负载均衡的,(3)是以流量为权重负载均衡的,这是最大的区别)。

注:每次修改httpd.conf,用apachectl –k restart重新启动Apache。

<!-- Baidu Button BEGIN -->
分享到:
评论

相关推荐

    负载均衡 Haproxy1.8.4

    负载均衡工具haproxy 1.8 linux下用的,windows服务器请不要下载

    window下跑nginx轻松实现负载均衡

    原来一直以为nginx只能在Linux下搭建,Windows下其实也可以跑nginx。当你的网站访问量越来越高的时候,一台服务器已经没有办法承受流量压力,那就增加几台 服务器来做负载吧。但当下的硬件设施又是贵得离谱,比如F5,...

    架构师培训教程 大数据高并发服务器实战 第2.6篇-Nginx部分-反向代理和负载均衡-负载均衡配置 共9页.pptx

    第2.6篇-Nginx部分-反向代理和负载均衡-负载均衡配置 共9页 第2.7篇-Nginx部分-Rewrite功能 共29页 第2.8篇-Nginx部分-Nginx工作原理 共15页 第2.9篇-Nginx部分-与Tomcat整合配置 共14页 第3篇-Memcached缓存篇 共30...

    linux下Nginx+Tomcat负载均衡配置方法

    Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1、JAVA JDK安装: #下载相应的jdk软件包,然后解压安装,我这里包...

    Linux运维从入门到高级全套案例v3

    5. 3 Tomcat/Resin JAVA服务器 84 5.3. 1 Tomcat安装配置 84 5.3. 2 Tomcat性能优化 85 5.3. 3 Resin安装配置 87 5.3. 4 Resin性能优化 88 5.3. 5 Resin多实例配置 89 5. 4 Nginx Tomcat动静分离 90 5. 5 LNAMP高...

    Nginx反向代理及负载均衡如何实现(基于linux)

    在我们的java项目中的体现就是,通过80端口访问,Nginx接收到,然后进行转发给tomcat服务器,再将服务器的结果给返回。 这里需要修改nginx.conf文件。 upstream backend { #代理的IP weight权重大的,接收的访问量...

    Apache + Tomcat + jk配置负载均衡以及虚拟主机 实现多域名、多用户同时使用

    windows平台下,Apache + tomcat + jk,配置负载均衡以及虚拟主机,达到可以多用户、多项目在同一台服务器中,同时开发、部署的目的。linux平台配置同意与此一致。

    nginx+tomcat负载均衡集群思路步骤过程.docx

    部署Nginx+Tomcat负载均衡集群部署思路: 1、Tomcat服务器设置 关闭防火墙 //两台保持一致 安装JDK //两台保持一致 安装Tomcat //两台保持一致 创建站点/www/test目录,修改server.xml文件 //两台保持一致 创建...

    java文章合集2

    Java-利用Nginx负载均衡实现Web服务器.pdf Java开发必须掌握的8种网站攻防技术.pdf JS中的二进制操作简介.pdf redis集群部署及踩过的坑.pdf 一文告诉你高逼格程序员上下班都在做什么.pdf 一网打进Linux下那些查找...

    Nginx+ftp搭建图片服务器

    2、反向代理 实现 负载均衡 ftp服务(图片上传): 使用linux做服务器,在linux中有个ftp组件vsftpd。 二、Nginx服务器搭建 1.安装Nginx 要求安装vmware虚拟机。 Linux:CentOS6.4(32) Nginx:1.8.0 Vsftpd:需要...

    Linux运维从入门到高级全套案例v3.rar

    目录 Linux入门篇 操作系统简介 1.2 Linux发展趋势 3 Linux系统安装 4 Linux学习技巧 2. Linux系统篇…… 2.1 Linux系统管理… 2.1.1 Linux目录初识 2.1.2 Linux常用命令 ...5.8Ls+ Keepalived负载均衡

    服务器架构图

    1、用户 APP 采用 JAVA 环境布署,初始环境两台服务器,实现负载均衡与高可用,前端负载使 用 nginx 做负载 2、商家 APP 采用 JAVA 环境布署,初始环境两台服务器,实现负载均衡与高可用,前端负载使 用 nginx 做...

    CentOS7下安装nginx

    nginx作为一款服务器,在反向代理、负载均衡等方面具有优秀的性能,但是在深入学习之前需要先安装nginx。这里记录一下自己在centos7操作系统下安装nginx的过程,以便之后学习时查阅。笔者这里的Linux服务器使用的是...

    JavaEE求职简历-姓名-JAVA开发工程师.doc

    10.了解基本Linux操作系统以及Linux的常用命令的使用以及在Linux下安装各种服务; 11.使用过Shiro完成用户认证,权限管理,加密; 12.搭建过基于Redis的主从、哨兵、集群环境,并使用Nginx来实现反向代理、负载均衡...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...

    《Java-web程序设计》教案.doc

    从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器 进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数 台服务器,Java显示了一个巨大的生命力。 多样化和功能强大的开发...

    windowd下一台电脑启动多台Tomcat

    该文档详细介绍了在Windows下同时启动多个Tomcat的配置教程,可以测试多个节点的功能需求,同理该文档也适用于Linux下的多个Tomcat搭建,实现负载均衡.大家有什么不懂得可以随时问我.

    架构师培训教程 大数据高并发服务器实战 第1篇-Linux 02-文件系统结构及常用shell命令 共62页.pptx

    第2.6篇-Nginx部分-反向代理和负载均衡-负载均衡配置 共9页 第2.7篇-Nginx部分-Rewrite功能 共29页 第2.8篇-Nginx部分-Nginx工作原理 共15页 第2.9篇-Nginx部分-与Tomcat整合配置 共14页 第3篇-Memcached缓存篇 共30...

    java的web项目的war包实现nginx+tomcat+https的快速和安全的配置

    把java开发的war包后更新到linux服务器后,通过本资源的配置nginx+tomcat实现两台服务器负载均衡,并配置了https的访问方式,并同时支持ipv6网络的访问

Global site tag (gtag.js) - Google Analytics