热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Apache服务器如何设置负载均衡

用apache负载均衡提高访问量网站性能,下面是apache负载均衡配置其实无论是分布式、数据缓存还是负载均衡,无非就是改善网站的性能瓶颈,在网站源码不做优化的情况下,apache负载均衡可以说是最直接的手段了其实抛开这个名词,放开了说,就是希望用户能够

用apache负载均衡提高访问量网站性能,下面是apache负载均衡配置

其实无论是分布式、数据缓存还是负载均衡,无非就是改善网站的性能瓶颈,在网站源码不做优化的情况下,apache负载均衡可以说是最直接的手段了

其实抛开这个名词,放开了说,就是希望用户能够分流,也就是说把所有用户的访问压力分散到多台服务器上,也可以分散到多个tomcat里,如果一台服务器 装多个tomcat,那么即使是负载均衡,性能也提高不了太多,不过可以提高稳定性,即容错性当其中一个主tomcat当掉,其他的tomcat也可以 补上,因为tomcat之间实现了Session共享待tomcat服务器修复后再次启动,就会自动拷贝所有session数据,然后加入集群这样就 可以不间断的提供服务

如果要真正从本质上提升性能,必须要分布到多台服务器同样tomcat也可以做到网上相关资料比较多,可以很方便的查到,但是质量不算高我希望可以通过这篇随笔,系统的总结本文的

例子是同一台服务器上运行两个tomcat,做两个tomcat之间的负载均衡其实多台服务器各配置一个tomcat也可以,而且那样的话,可以使用安 装版的tomcat,而不用是下文中的免安装的tomcat,而且tomcat端口配置也就不用修改了下文也会提到

tomcat的负载均衡需要apache服务器的加入来实现在进行配置之前请先卸载调已安装的tomcat,然后检查apache的版本我这次配置使 用的是apache-tomcat-6.0.18免安装版本,我亲自测试后推断安装版的tomcat在同一台机子上会不能启动两个以上,可能是因为安装版 的tomcat侵入了系统,导致即使在server.xml里修改了配置,还是会引起冲突所以我使用tomcat免安装版

apache使用的是apache_2.2.11-win32-x86-no_ssl.msi如果版本低于2.2Apache负载均衡的配置要有所不同,因为这个2.2.11和2.2.8版本集成了jk2等负载均衡工具,所以配置要简单许多别的版本我没有具体测试,有待考究这两个软件可以到官方网站下载

把Apache安装为运行在80端口的Windows服务,安装成功后在系统服务列表中可以看到Apache2.2服务服务启动后在浏览器中输入 http://localhost进行测试,如果能看到一个"It works!"的页面就代表Apache已经正常工作了把tomcat解压到任意目录,赋值一个另命名起名和路径对配置没有影响但要保证端口不要冲 突,如果装有Oracle或IIS的用户需要修改或关闭相关接口的服务当然jdk的配置也是必须的,这个不再过多叙述

想要达到负载均衡的目的,首先,在Apache安装目录下找到conf/httpd.conf文件,去掉以下文本前的注释符(#)以便让Apache在启动时自动加载代理(proxy)模块

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so

向下拉动文档找到节点,在DirectoryIndex index.html后加上index.jsp,这一步只是为了待会配置完tomcat后能看到小猫首页,可以不做继续下拉文档找到Include conf/extra/httpd-vhosts.conf,去掉前面的注释符

然后打开conf/extra/httpd-vhosts.conf,配置虚拟站点,在最下面加上


ServerAdmin 管理员邮箱
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://sy/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://sy/
ErrorLog "logs/sy-error.log"
CustomLog "logs/sy-access.log" common

然后回到httpd.conf,在文档最下面加上
ProxyRequests Off

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2

ProxyRequests Off 是告诉Apache需要使用反向代理,ip地址和端口唯一确定了tomcat节点和配置的ajp接受端口loadfactor是负载因子,Apache 会按负载因子的比例向后端tomcat节点转发请求,负载因子越大,对应的tomcat服务器就会处理越多的请求,如两个tomcat都是 1,Apache就按1:1的比例转发,如果是2和1就按2:1的比例转发这样就可以使配置更灵活,例如可以给性能好的服务器增加处理工作的比例,如果 采取多台服务器,只需要修改ip地址和端口就可以了route参数对应后续tomcat负载均衡配置中的引擎路径(jvmRoute)
推荐阅读
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 本文介绍了两种有效的方法来解决DataSnap支持的Tcp长连接数受限的问题。方案一通过代理服务器实现负载均衡,方案二则利用多进程技术提升连接数。 ... [详细]
author-avatar
dongtiankzh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有