Linux平台Apache高可用双机集群Tomcat负载均衡集群配置手册

合集下载

Tomcat集群与负载均衡

Tomcat集群与负载均衡

Tomcat集群与负载均衡(转载)在单一的服务器上执行WEB应用程序有一些重大的问题,当网站成功建成并开始接受大量请求时,单一服务器终究无法满足需要处理的负荷量,所以就有点显得有点力不从心了。

另外一个常见的问题是会产生单点故障,如果该服务器坏掉,那么网站就立刻无法运作了。

不论是因为要有较佳的扩充性还是容错能力,我们都会想在一台以上的服务器计算机上执行WEB应用程序。

所以,这时候我们就需要用到集群这一门技术了。

在进入集群系统架构探讨之前,先定义一些专门术语:1. 集群(Cluster):是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。

应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。

2. 负载均衡(Load Balance):先得从集群讲起,集群就是一组连在一起的计算机,从外部看它是一个系统,各节点可以是不同的操作系统或不同硬件构成的计算机。

如一个提供Web服务的集群,对外界来看是一个大Web服务器。

不过集群的节点也可以单独提供服务。

3. 特点:在现有网络结构之上,负载均衡提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。

集群系统(Cluster)主要解决下面几个问题:高可靠性(HA):利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。

高性能计算(HP):即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析,化学分析等。

负载平衡:即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。

目前比较常用的负载均衡技术主要有:1. 基于DNS的负载均衡通过DNS服务中的随机名字解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。

Liunx下Tomcat调优指南

Liunx下Tomcat调优指南

Liunx下Tomcat调优指南1概述由于Tomcat的运行依赖于JVM,从虚拟机的角度我们把Tomcat的调整分为外部环境调优和自身调优两类来描述。

2调优方案1.1外部环境调优1)操作系统性能优化对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。

经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。

对于并发数很大的情况来说,带宽也是影响系统性能的一个重要指标,因此要实现系统的快速响应,必须拥有较高的带宽。

建议使用64位操作系统,如果是32位操作系统,建议使用企业版。

2)JAVA虚拟机性能优化Tomcat需要依赖Java虚拟机运行。

根据客户选用的主机的操作系统选择对应的JDK 的版本。

无论哪个厂商的JDK,都建议使用最新的版本。

虚拟机可通过命令行的方式改变虚拟机使用内存的大小。

如下表所示有两个参数用来设置虚拟机使用内存的大小。

Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。

Windows下,在文件% TOMCAT_HOME %/bin/catalina.bat,Unix下,在文件$TOMCAT_HOME/bin/catalina.sh的前面,增加如下设置:JAVA_OPTS=’-Xms【初始化内存大小】-Xmx【可以使用的最大内存】’需要把这个两个参数值调大。

例如:JAVA_OPTS='-Xms256m -Xmx512m',表示初始化内存为256MB,可以使用的最大内存为512MB。

另外需要考虑的是Java提供的垃圾回收机制。

虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。

收集垃圾可以接受的速度与应用有关,应该通过分析实际的垃圾收集的时间和频率来调整。

如果堆的空间很大,那么完全垃圾收集(FULL GC)就会很慢,但是频度会降低。

如果在客户系统中把堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。

Linux下Apache服务的部署和配置

Linux下Apache服务的部署和配置

Linux下Apache服务的部署和配置⽬录1 Apache的作⽤2 Apache的安装3 apache的启⽤4 apache的基本信息5 apache的访问控制5.1 基于客户端ip的访问控制5.2 基于⽤户认证的访问控制6 apache的虚拟主机7 apache的加密访问8 ⽹页重写9 正向代理10 反向代理11 apache ⽀持的语⾔1 Apache的作⽤解析⽹页语⾔,如html,php,jsp等接收web⽤户的请求,并给予⼀定的响应2 Apache的安装安装apche软件:dnf install httpd.x86_64 -y3 apache的启⽤开启apache服务并设置开机启动:systemctl enable --now httpd查看apache服务的状态:systemctl enable --now httpd查看⽕墙信息:firewall-cmd --list-all 在⽕墙中永久开启http服务:firewall-cmd --permanent --add-service=http在⽕墙中永久开启https服务: f irewall-cmd --permanent --add-service=https在不改变当前⽕墙状态的情况下刷新防⽕墙:firewall-cmd --reload4 apache的基本信息apche的基本信息服务名称:httpd主配置⽂件:/etc/httpd/conf/httpd.conf⼦配置⽂件:/etc/httpd/conf.d/*.conf默认发布⽬录:/var/www/html默认端⼝:80 (http),443(https)⽇志⽂件:/etc/httpd/logs开启apche服务后,输⼊ip查看默认发布页⾯:(1)更改apche服务的端⼝号查看httpd服务的默认端⼝号:netstat -antlupe |grep httpd编辑配置⽂件:/etc/httpd/conf/httpd.conf,修改端⼝号重启httpd服务:systemctl restart httpd查看httpd服务的端⼝号:netsat -antlupe | grep httpd更改端⼝号后,输⼊ip后⽆法正常连接,原因是8080端⼝未添加在⽕墙中在防⽕墙⾥添加888端⼝号:firewall-cmd --permanent --add-port=888/tcp在不改变当前⽕墙状态的情况下刷新防⽕墙:firewall-cmd --reload输⼊IP地址:端⼝号,可以正常访问(2)修改apche的默认发布⽂件默认⽬录:cd /var/www/html在⽂件默认发布⽬录下新建⼀个⽂件index.html输⼊:http://172.25.254.144查看默认发布⽂件就是访问apache时没有指定⽂件名,即默认访问的⽂件,此⽂件可以指定多个,但有访问顺序。

tomcat配置手册

tomcat配置手册

以下部署方式都是针对tomcat5.0以上版本。

Tomcat4中的Manager和Admin管理工具其实就是利用它来部署的。

在Tomcat5中提出了Context descriptor这个概念,且为其配置了一个专有目录,而不像Tomcat4那样大杂烩一般地放置在$appBase目录下。

Context descriptor是一个只包含Context元素的xml格式的部署文件,其中Context元素与server.xml中的Context元素配置相同。

对于一个给定的主机,Context descriptor放置在$CATALINA_HOME/conf/[enginename]/[hostname]/目录下面。

Tomcat5默认安装时,在$CATALINA_HOME/conf/Catalina/localhost目录中有admin.xml和manager.xml,是两个管理工具的部署描述符文件。

而这两个文件在Tomcat4中是放置在$CATALINA_HOME/webapps目录下面的。

使用方法:(1)在$CATALINA_HOME/conf/[enginename]/[hostname]/目录下新建xxx.xml文档(2)在xxx.xml文档中配置如下<Context docBase="${catalina.home}/server/webapps/host-manager"privileged="true" antiResourceLocking="false" antiJARLocking="false"> </Context>注:docBase也可以设置为[eclipse的workplace]/[project]/webroot静态部署是指在Tomcat运行之前就把相关的Web应用程序放置到合适的目录,在Tomcat启动的时候自动来部署这些应用程序。

Apache与tomcat的整合、负载均衡和加入启动和系统服务

Apache与tomcat的整合、负载均衡和加入启动和系统服务

Apache与tomcat的整合及负载均衡系统环境:Windows Server 2021 R2 SP1虚拟机环境:Red Hat Enterprise Linux Server release 5.4 (Tikanga) X64安装软件版本:JDK:1.6.0_19 Tomcat: Apache: JK:实施步调:一、安装软件。

1tar -xz2345./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most--with-mpm=worker6make7make install89/jk/native/1011./configure --with-apxs=/usr/local/apache2/bin/apxs12make13make install二、配置整合及负载均衡1 cp / /usr/local/apache2/modules2配置环境变量vi /etc/profile在文本末尾参加以下内容JAVA_HOME=JDK安装路径CATALINA_HOME=tomcat安装路径CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.PATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CATALINA_HOME CLASSPATH PATH3应用初始的环境变量source /etc/profile4点窜以下几处而且在末尾加上:Include /usr/local/apache2/conf/ 5添加及设置vi /usr/local/apache2/增加以下内容#加载mod_jk ModuleJkLogLevel info载分配控制制器JkMount /* lb6添加及设置vi /usr/local/apache2/conf/添加以下内容worker.list = lb,tomcat1,tomcat2#server 列表#========tomcat1========worker.tomcat1.port=8009#ajp13 端标语,在tomcat下server.xml配置,默认8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========tomcat2========worker.tomcat2.port=8009#ajp13 端标语,在tomcat下server.xml配置,默认8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========controller,负载均衡控制器========worker.lb.type=lbworker.lb.balanced_workers=tomcat1,tomcat2#指定分担请求的tomcatworker.lb.sticky_session=17、将JSP文件放入/usr/local/tomcat/webapps/ROOT8 启动apache和tomcat8 翻开浏览器输入就是这么简单。

apache2.2.16+mod_jk.1.2.30+tomcat7.0.2集群session复制

apache2.2.16+mod_jk.1.2.30+tomcat7.0.2集群session复制

Apache+tomcat集群+session复制作者:吴钢奇时间:2010/09/23MSN:w7374520@目标:在服务器上搭建1个apache+4个tomcat应用,tomcat之间实现session复制。

Tomcat解析所有的网页,apache此刻的作用就是做代理。

参考了很多网上好文档,非常感谢前人无私奉献,谢谢!1、环境硬件:一个四核3.0CPU,4G内存,200GSATA硬盘系统:Redhat AS 5.3源码包下载:1、Httpd下载/apache//httpd/httpd-2.2.16.tar.gz2、Tomcat下载//tomcat/tomcat-7/v7.0.2-beta/bin/apache-tomcat-7.0.2.tar.gz3、mod_jk 下载地址:/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.30/tomcat-connectors-1.2.30-src.tar.gz2、安装apache[root@adman ~]# cd /usr/local/src/ #进入源码包下载目录,这个可以随便定[root@adman src]# tar zxvf httpd-2.2.16.tar.gz #解压缩[root@adman src]# cd httpd-2.2.16 #进入解压目录[root@adman httpd-2.2.16]# ./configure --prefix=/usr/local/apache2 \> --enable-cache \ #configure参数根据自己的需要添加> --enable-mem-cache \ —可以使用help获得相关参数> --with-mpm=prefork \> --enable-so \> --enable-rewrite \> --enable-ssl[root@adman httpd-2.2.16]# make #编译[root@adman httpd-2.2.16]# make install #安装[root@adman httpd-2.2.16]# cd /usr/local/apache2[root@adman apache2]# vim conf/httpd.conf52 # LoadModule foo_module modules/mod_foo.so53 LoadModule jk_module modules/mod_jk.so #添加jk模块,模块是编译jk1.2.30得到106 DocumentRoot "/usr/local/webapps" #修改文档主目录133 <Directory "/usr/local /webapps"> #修改文档主目录146 Options Indexes FollowSymLinks158 Order allow,deny159 Allow from all160161 </Directory>416 Include conf/mod_jk.conf #添加jk配置文件,在末尾直接添加如果apache日志出现: session cache no configuration 警告信息请添加下面两行。

中标麒麟高可用集群软件(龙芯版)V7.0 产品白皮书说明书

中标麒麟高可用集群软件(龙芯版)V7.0 产品白皮书说明书
中标麒麟高可用集群软件(龙芯版)V7.0 产品白皮书
中标软件有限公司
目录
目录
目录 ...................................................................................................................................................i 前言 ..................................................................................................................................................v 内容指南 ........................................................................................................................................vii 中标麒麟高可用集群产品介绍....................................................................................................... 9 1 概述 ............................................................................................................................................ 11
第 i 页 / 共 54 页

apache负载均衡

apache负载均衡

模拟环境部署文档一、本部署文档所使用软件列表文件服务器群组负载均衡服务器:apache2.2文件服务器群组文件服务器:apache2.2Java web应用服务器群组负载均衡服务器:apache2.2Java web应用服务器群组应用服务器:tomcat5.5地市文件服务器:tomcat5.5二、apache负载均衡apache文件服务器群组配置(在服务器192.168.2.241)Apache实例明细:负载均衡apache:名称<apacheB>文件服务apache:名称<apacheFile1>,<apacheFile2>1、安装apache,作为主服务器(apacheB),假设安装路径在E:\apche2.2,http监听端口80,2、拷贝两份apache文件目录(即E:\apche2.2),分别命名为apacheFile1和apacheFile2,用作文件服务器。

3、修改apacheFiel1目录下的conf中的httpd.conf,将配置文件中的路径都改为E:\apacheFile1,将文件中的Listen 80和ServerName localhost:80这两个地方修改为1010,web应用路径E:\apache\web\main4、修改E:\apacheFile1\htdocs\index.html,将内容改为It works! 1010以便之后测试时区分。

5、运行cmd命令,到E:\apacheFile1\bin目录下,执行httpd -k install -n"apacheFile1" -f " E:\apacheFile1\conf\httpd.conf",这样就在系统在注册了名为“apacheFile1”的服务6、对apacheFile2目录做第3、4、5步的类似操作,将端口修改为2020,新建服务apacheFile27、修改主服务器(apacheB)配置文件E:\apche2.2\conf\httpd.conf,将其中的#监测主服务器状态插件LoadModule status_module modules/mod_status.so#负载均衡插件LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 前的#注释符去掉并在文件最后增加以下内容#停止正向代理功能ProxyRequests Off#不进行反向代理的路径ProxyPass /server-status !ProxyPass /balancer-manager !ProxyPass / balancer://file/ stickysession=jsessionid nofailover=On<proxy balancer://file/>BalancerMember http://localhost:1010 loadfactor=1BalancerMember http://localhost:2020 loadfactor=1</proxy>#监测主服务器状态<Location /server-status>SetHandler server-statusOrder Deny,AllowDeny from allAllow from all</Location>#监测负载均衡状态<Location /balancer-manager>SetHandler balancer-managerOrder Deny,AllowDeny from allAllow from all</Location>8、运行apache2.2下的bin目录中的ApacheMonitor.exe,分别运行apache2.2,apacheFile1,apacheFile2三个服务9、测试A、打开一个浏览器窗口,访问http://localhost,如果看到输出It works!1010或者It works! 2020,则表示负载均衡配置成功,不断地刷新页面,服务器会轮流将请求转发给1010和2020负载服务器B、访问http://localhost/ server-status可以查看主服务器运行状态C、访问http://localhost/ balancer-manager可以查看各节点的工作运行状态三、文件服务器的压缩响应说明:文件服务使用apache的反向代理负载均衡,用户发出的请求,通过apacheB负载均衡发送请求给apacheFile1或者apacheFile2, apacheFile1或apacheFile2响应数据到apacheB, apacheB进行后续的响应发送数据给客户端,居于此,我们在apacheFile1,apacheFile2启用文件压缩功能(减少负载均衡apache的压力),进行用户的请求响应修改apacheFile1,apacheFile2服务器配置文件httpd.conf,启用文件压缩插件,将其中的LoadModule deflate_module modules/mod_deflate.soLoadModule headers_module modules/mod_headers.so前的#注释符去掉apacheFile1,apacheFile2的httpd.conf的文件末尾增加响应压缩配置内容<Location /># Insert filterSetOutputFilter DEFLATE# Netscape 4.x has some problems...BrowserMatch ^Mozilla/4 gzip-only-text/html# Netscape 4.06-4.08 have some more problemsBrowserMatch ^Mozilla/4\.0[678] no-gzip# MSIE masquerades as Netscape, but it is fine# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48# the above regex won't work. You can use the following# workaround to get the desired effect:BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html# Don't compress imagesSetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary# Make sure proxies don't deliver the wrong contentHeader append Vary User-Agent env=!dont-vary</Location>四、apache文件服务器缓存说明:文件服务使用apache的反向代理负载均衡,用户发出的请求,通过apacheB负载均衡发送请求给apacheFile1或者apacheFile2, apacheFile1或apacheFile2响应数据到apacheB, apacheB进行后续的响应发送数据给客户端,居于此,我们在apacheFile1,apacheFile2启用文件缓存功能(减少负载均衡apache的压力),进行用户的请求响应1、内存缓存方式A、启用内存缓存插件,将apacheFile1,apacheFile2的httpd.conf中LoadModule mem_cache_module modules\mod_mem_cache.so前的#注释符去掉B、在apacheFile1,apacheFile2的httpd.conf末尾增加内存缓存的配置信息MCacheMaxObjectCount 13001MCacheMaxObjectSize 6400000# 指定最大流式化响应可缓冲长度为64KB:MCacheMaxStreamingBuffer 65536MCacheMinObjectSize 10000MCacheRemovalAlgorithm GDSFMCacheRemovalAlgorithm LRUMCacheSize 7000002、硬盘缓存方式A、启用硬盘缓存插件,将apacheFile1,apacheFile2的httpd.conf中LoadModule expires_module modules/mod_expires.soLoadModule file_cache_module modules/mod_file_cache.soLoadModule headers_module modules/mod_headers.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule cache_module modules/mod_cache.soLoadModule disk_cache_module modules/mod_disk_cache.soLoadModule jk_module modules\mod_jk-1.2.27-httpd-2.2.10.so前的#注释符去掉B、在apacheFile1,apacheFile2的httpd.conf末尾增加硬盘缓存的配置信息#cache配置##cache文件存放目录CacheRoot "C:/cache"#启用cache调用的url根CacheEnable disk /CacheEnable fd /#不启用cache的配置,对/下的应用不进行缓存# CacheDisable /#CacheDirLevels指定了子目录的层数,CacheDirLength指定了每级子目录名的字符数。

企业应用系统高可用性建设

企业应用系统高可用性建设

企业应用系统高可用性建设程兆辉【摘要】企业应用系统可用性目标应依据实际情况建立,既满足使用者的需求,也减少系统建设的成本.基于集群和均衡负载技术实现应用服务器的高可用性和实现数据库高可用性和高性能,是企业应用系统高可用性建设的两个主要方面.【期刊名称】《航空制造技术》【年(卷),期】2015(000)019【总页数】4页(P103-105,109)【关键词】高可用性;负载均衡;集群【作者】程兆辉【作者单位】中航飞机西安飞机分公司【正文语种】中文高可用性(High Availability)通常来描述一个系统经过专门的设计,从而减少停止服务的时间,而保持其服务的高度可用性的状态。

计算机系统的可用性用平均无故障时间[1](MTTF)来度量,即计算机系统平均能够正常运行多长时间,才发生一次故障。

系统的可用性越高,平均无故障时间越长。

可维护性用平均维修时间[1](MTTR)来度量,即系统发生故障后维修和重新恢复正常运行平均花费的时间。

系统的可维护性越好,平均维修时间越短。

计算机系统的可用性定义为:MTTF/(MTTF+MTTR) * 100%[1]。

由此可见,计算机系统的可用性定义为系统保持正常运行时间的百分比。

一般情况下,当可用性超过99.99%(含99.99%)时,即可认为该系统是高可用性的系统。

系统的高可用性建设与系统的投入成本具有很大关系,可用性要求越高,其投入成本以指数级别上升,因此可用性要求不是越高越好,而是需要在系统的投入成本与可用性要求之间取得一个较好的平衡。

表1 可用性要求对应表可用性要求每年允许停机时间99% 3.5d 99.9% 8.5h99.99% 53min对于一般的企业应用系统,例如办公系统、文件编制系统或ERP系统等,可以将可用性目标定义为99.9%,这样既可以满足使用者的需求,也可以相对降低系统建设成本。

对于生产型企业的核心系统(例如MES系统),其停机将造成严重的影响,因此可以将可用性要求定义为99.99%,以保持系统的最大可用性,满足车间现场生产的要求。

Tomcat集群及负载均衡配置

Tomcat集群及负载均衡配置

Tomcat集群及负载均衡配置在单一的服务器上执行Web应用程序有一些重大问题,当网站的请求量越来越大,单一服务器终究无法满足需要处理的负荷量,所以就显得有点力不从心;而且还存在的问题是会产生单点故障,如果该服务器宕掉,那么网站就无法运作。

不论是因为要有较佳的扩充性还是容错能力,我们都会想在一台以上的服务器上执行Web应用程序。

所以,这时候我们就需要用到集群这一门技术。

1术语介绍1.1 集群集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。

在客户端看来,一个集群就像是一个服务实体,但事实上集群由一组服务实体组成。

与单一服务实体相比较,集群提供了以下两个关键特性: 可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。

高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service 的警告。

在集群中,同样的服务可以由多个服务实体提供。

如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。

集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。

1.2 负载均衡负载的基础是集群,集群就是一组连在一起的计算机,从外部看它是一个系统,各节点可以是不同的操作系统或不同的硬件构成的计算机。

如一个提供Web 服务的集群,对外界看来是一个大Web服务器。

负载均即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。

2常用负载均衡技术常用手负载均衡技术有以下几种HTTP重定向DNS负载均衡反向代理负载均衡IP负载均衡(NAT)直接路由IP隧道本文介绍的是第三种使用apahce+tomcat的反向代理的负载均衡,使用代理服务器可以将请求转发全内部的Web服务器,让代理服务器均匀地转发给多台内部web服务器之一上,从而达到负载均衡目的。

这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。

Apache2.2+tomcat-6.0.18集群部署手册

Apache2.2+tomcat-6.0.18集群部署手册

一、软件准备Apache 2.2Tomcat-6.0.18:mod_jk-1.2.31-httpd-2.2.3.sojdk-1_5_0_06-windows-i586-p.exe注意:由于Apache和Tomcat项目与集群相关的模块均处于持续发展和优化过程中,因此笔者不保证本文配置方法对所有Apache和Tomcat版本均适用。

二、Apache安装1、先准备好软件:2、安装Apache,配置成功一个普通网站服务器3、运行下载好的“httpd-2.2.19-win32-x86-openssl-0.9.8r.msi”,出现如下界面:4、出现Apache HTTP Server 2.0.55的安装向导界面,点“Next”继续5、确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续6、将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续7、设置系统信息,在Network Domain下填入您的域名(比如:),在Server Name下填入您的服务器名称(比如:,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:yinpeng@),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。

下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。

一般选择如图所示。

按“Next”继续。

]8、选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。

按“Next”继续9、出现选择安装选项界面,如图所示,左键点选“Apache HTTP Server 2.0.55”,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。

浅析Tomcat Web服务器基于Apache的集群与负载均衡

浅析Tomcat Web服务器基于Apache的集群与负载均衡

浅析Tomcat Web服务器基于Apache的集群与负载均衡摘要:目前海南电网公司有很多接口应用程序在运行,其中大部分是基于WEBSERVICE方式的接口,而WEBSERVICE接口绝大多数都是采用的Tomcat这一开源软件,电网运维部门如何保证接口的正常运行是个工作量大而且让人头痛的问题,因为很多接口是系统与系统之间的关键接点,是否正常运行影响海南电网的生产、经营分析等方面,基于这一现状,我们摸索出了WEBSERVICE接口基于Apache的集群与负载均衡的具体实现方法,本文从实际例子出发,详细阐述了Tomcat Web服务器实现基于Apache集群与负载均衡的过程。

关键词:WEB服务器Tomcat 集群负载均衡Session 云计算1 背景与发展本文的集群指WEB服务器集群,只是集群技术中很小的分支。

随着业务与需求的增长WEB服务器访问量不断的增加,客户对产品的负载能力与稳定性随之提高,在单一WEB服务器的架构中已经难以达到用户的需求,在进一步提高产品的质量外,需要寻求更可靠的技术支持。

系统在实际应用中需要我们回答以下问题。

(1)在产品稳定的情况下,如何面对不断增长的访问量?(2)在现有硬件的基础下,如何更进一步发挥硬件的性能?(3)WEB应用突发停止后,如何保证继续为电网生产经营提供服务?(4)在更换新版本系统时,如果保证不间断的提供服务?上面的问题是在所有WEB系统开发、运行、维护过程中都会碰到的问题。

如果要解决这个问题则首先要采用:WEB服务器系统集群技术。

采用集群技术之后解决WEB服务器容量带来的巨大挑战,服务器资源终究是有限的,大容量服务器对用户来说是一笔巨大的开支,也无法保障原来的投入,同时也解决不了根本问题。

WEB系统集群技术为系统容量、扩展问题提供了良好的途径,同时又能保护用户的投资,它能把一组服务器通过一定形式组织起来,对外提供强大的服务能力,也能在同一服务器上部署多个相同系统集群充分挖掘服务器的潜力。

NewStartHA 新支点双机高可用集群软件 安装配置手册3.0

NewStartHA 新支点双机高可用集群软件 安装配置手册3.0

NewStartHA新支点双机高可用集群软件安装配置手册3.02011-08提示:安装配置中用户输入项用粗体标出。

第1章 安装前准备1.1 HA安装环境准备在开始安装NewStartHA前,请确保下列各项均已准备好。

1.1.1 服务器2台服务器,每台至少2块网卡;用一块网卡或者bonding做工作链路,另外一块或者多块网卡做心跳链路(用两条心跳链路比配成一条bonding心跳更加可靠)1.1.2 Linux操作系统已安装完成,版本为SuSE 9/SuSE10/SuSE11,RedHat AS3以上或者兼容的系统。

1.1.3 网卡建议全部配置成静态IP,并配置网络接口的永久命名(即接口名和MAC绑定,这是为了避免某些情况下机器重启后网卡接口名改变,具体参考后面的常见问题),用作工作链路的网卡必须配置有静态IP(也称为boot IP)。

1.1.4 业务HA管理的业务软件或者数据库已安装好1.2 HA正式版组件安装光盘 用户说明书电子文档见光盘doc子目录产品授权书 包含产品许可号(SN号)第2章 安装推荐用户上公司网站下载安装最新版本(iso文件),网址见附录2.1安装NewStartHA1、安装软件将NewStartHA的安装CD放入服务器的CDROM中执行:# mount -o ro /dev/cdrom /mnt挂载光盘到/mnt子目录如果NewStartHA是iso文件,执行# mount -o loop xxxx.iso /mnt挂载文件到/mnt子目录# /mnt/install 执行安装脚本开始安装1)安装HA产品主程序包和cli命令行界面2) 安装HA产品WEB管理界面3)安装包括1)和2)两部分4)取消安装如果节点安装有旧版本HA,安装过程会提示用户卸载。

2、常见安装问题Linux系统中,ext2,ext3文件系统可以设置文件或者目录安全属性,即使是root用户也无法删除或者修改这些文件。

Linux搭建Apache+Tomcat环境(详细文档)

Linux搭建Apache+Tomcat环境(详细文档)

Linux搭建Apache+Tomcat环境使用手册(仅供内部使用)V1.0目录目录 (1)1 引言 (3)1.1 编写目的 (3)1.2 项目背景 (3)1.3 定义 (3)1.3.1 集群(Cluster) (3)1.3.2 负载均衡(Load Balance) (3)1.4 参考资料 (3)1.5 变更历史 (3)2 技术介绍 (3)2.1 技术目标 (3)2.2 网络架构 (3)2.3 软件架构 (4)3 客户端软件准备 (4)3.1 Tomcat: (4)3.2 Apache: (4)3.3 Jk: (4)4 测试环境规划 (4)4.1 Apache集群程序 (4)4.2 Tomcat1程序(内容+后台统一部署) (4)4.3 Tomcat2程序(内容+后台统一部署) (5)5 详细步骤 (5)5.1 安装JDK (5)5.1.1 jdk1.5.0_19 (5)5.1.2 配置环境变量 (6)5.1.3 测试Java是否安装成功 (6)5.2 安装Tomcat (6)5.2.1 Tomcat环境准备 (6)5.2.2 配置环境变量 (7)5.2.3 测试Tomcat是否安装成功 (7)5.2.4 部署工程项目 (7)5.3 安装Apache (7)5.3.1 apache环境准备 (8)5.3.2 httpd-2.2.12.tar.gz (8)5.3.3 测试Apache是否安装成功 (8)5.4 集群和负载均衡的配置 (9)5.5 修改httpd.conf (9)5.6 安装mod_jk.so (9)5.7 建立mod_jk.conf文件 (10)5.8 建立workers.properties文件 (10)5.9 建立uriworkermap.properties (11)5.10 综合测试Apache + Tomcat (11)6 总结 (12)6.1 绑定的域名 (12)6.2 编译出so文件 (12)6.3 设置Apache和Tomcat随系统启动而自动启动: (12)6.3.1 Red Hat的配置 (12)6.3.2 Ubuntu 的配置 (12)6.4 不足之处,见谅! (12)7 附录 (13)7.1 Tomcat集群与负载均衡区别以及特性 (13)7.2 ubuntu 配置开机启动vnc (15)1 引言1.1 编写目的本说明手册为了阐述Linux搭建Apache+Tomcat环境,并详细介绍Tomcat的集群和负载均衡配置而编写。

linux服务器集群的详细配置

linux服务器集群的详细配置

linux服务器集群的详细配置一、计算机集群简介计算机集群简称集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作;在某种意义上,他们可以被看作是一台计算机;集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式;集群计算机通常用来改进单个计算机的计算速度和/或可靠性;一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多;二、集群的分类群分为同构与异构两种,它们的区别在于:组成集群系统的计算机之间的体系结构是否相同;集群计算机按功能和结构可以分成以下几类:高可用性集群 High-availability HA clusters负载均衡集群 Load balancing clusters高性能计算集群 High-performance HPC clusters网格计算 Grid computing高可用性集群一般是指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上;还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行;负载均衡集群负载均衡集群运行时一般通过一个或者多个前端负载均衡器将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性;这样的计算机集群有时也被称为服务器群Server Farm; 一般高可用性集群和负载均衡集群会使用类似的技术,或同时具有高可用性与负载均衡的特点;Linux虚拟服务器LVS项目在Linux操作系统上提供了最常用的负载均衡软件;高性能计算集群高性能计算集群采用将计算任务分配到集群的不同计算节点而提高计算能力,因而主要应用在科学计算领域;比较流行的HPC采用Linux操作系统和其它一些免费软件来完成并行运算;这一集群配置通常被称为Beowulf集群;这类集群通常运行特定的程序以发挥HPC cluster的并行能力;这类程序一般应用特定的运行库, 比如专为科学计算设计的MPI 库集群特别适合于在计算中各计算节点之间发生大量数据通讯的计算作业,比如一个节点的中间结果或影响到其它节点计算结果的情况;网格计算网格计算或网格集群是一种与集群计算非常相关的技术;网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机,它的运作更像一个计算公共设施而不是一个独立的计算机;还有,网格通常比集群支持更多不同类型的计算机集合;网格计算是针对有许多独立作业的工作任务作优化,在计算过程中作业间无需共享数据;网格主要服务于管理在独立执行工作的计算机间的作业分配;资源如存储可以被所有结点共享,但作业的中间结果不会影响在其他网格结点上作业的进展;三、linux集群的详细配置下面就以WEB服务为例,采用高可用集群和负载均衡集群相结合;1、系统准备:准备四台安装Redhat Enterprise Linux 5的机器,其他node1和node2分别为两台WEB服务器,master作为集群分配服务器,slave作为master的备份服务器;所需软件包依赖包没有列出:2、IP地址以及主机名如下:3、编辑各自的hosts和network文件mastervim /etc/hosts 添加以下两行vim /etc/sysconfig/networkHOSTNAME= slavevim /etc/hosts 添加以下两行vim /etc/sysconfig/network HOSTNAME= node1vim /etc/hosts 添加以下两行vim /etc/sysconfig/network HOSTNAME= node2vim /etc/hosts 添加以下两行vim /etc/sysconfig/networkHOSTNAME= 注:为了实验过程的顺利,请务必确保network文件中的主机名和hostname命令显示的主机名保持一致,由于没有假设DNS服务器,故在hosts 文件中添加记录;4、架设WEB服务,并隐藏ARPnode1yum install httpdvim /var//html/添加如下信息:This is node1.service httpd startelinks 访问测试,正确显示&nbs隐藏ARP,配置如下echo 1 >> /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 1 >> /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 >> /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 >> /proc/sys/net/ipv4/conf/all/arp_announce ifconfig lo:0 netmask broadcast uproute add -host dev lo:0node2yum install httpdvim /var//html/添加如下信息:This is node2.service httpd startelinks 访问测试,正确显示隐藏ARP,配置如下echo 1 >> /proc/sys/net/ipv4/conf/lo/arp_ignore echo 1 >> /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 >> /proc/sys/net/ipv4/conf/lo/arp_announce echo 2 >> /proc/sys/net/ipv4/conf/all/arp_announceifconfig lo:0 netmask broadcast uproute add -host dev lo:0mastervim /var//html/添加如下内容:The service is bad.service httpd startslavevim /var//html/添加如下内容:The service is bad.service httpd start5、配置负载均衡集群以及高可用集群小提示:使用rpm命令安装需要解决依赖性这一烦人的问题,可把以上文件放在同一目录下,用下面这条命令安装以上所有rpm包:yum --nogpgcheck -y localinstall .rpmmastercd /usr/share/doc/ cp haresources authkeys /etc/cd /usr/share/doc/ cp /etccd /etcvim开启并修改以下选项:debugfile /var/log/ha-debuglogfile /var/log/ha-logkeepalive 2deadtime 30udpport 694bcast eth0增加以下两项:node node vim haresources增加以下选项:ldirectord::/etc/为/etc/authkeys文件添加内容echo -ne "auth 1\n1 sha1 "注意此处的空格 >> /etc/authkeysdd if=/dev/urandom bs=512 count=1 | openssl md5 >> /etc/authkeys &nbs更改key文件的权限chmod 600 /etc/authkeysvim /etc/修改如下图所示:slave 注:由于slave的配置跟master配置都是一样的可以用下面的命令直接复制过来,当然想要再练习的朋友可以自己手动再配置一边;scp root:/etc/{,haresources} /etc/输入的root密码scp root:/etc/ /etc输入的root密码6、启动heartbeat服务并测试master & slaveservice heartbeat start这里我就我的物理机作为客户端来访问WEB服务,打开IE浏览器这里使用IE浏览器测试,并不是本人喜欢IE,而是发现用google浏览器测试,得出的结果不一样,具体可能跟两者的内核架构有关,输入,按F5刷新,可以看到三次是2,一次是1,循环出现;7、停止主服务器,再测试其访问情况masterifdown eth0再次访问,可以看到,服务器依然能够访问;。

分布式、高并发、集群、负载均衡、高可用面试题

分布式、高并发、集群、负载均衡、高可用面试题

分布式、⾼并发、集群、负载均衡、⾼可⽤⾯试题分布式 :分布式架构:把系统按照模块拆分成多个⼦系统,多个⼦系统分布在不同的⽹络计算机上相互协作完成业务流程,系统之间需要进⾏通信。

优点:把模块拆分,使⽤接⼝通信,降低模块之间的耦合度。

把项⽬拆分成若⼲个⼦项⽬,不同的团队负责不同的⼦项⽬。

增加功能时只需要再增加⼀个⼦项⽬,调⽤其他系统的接⼝就可以。

可以灵活的进⾏分布式部署。

缺点:1、系统之间交互需要使⽤远程通信,接⼝开发增加⼯作量。

2、各个模块有⼀些通⽤的业务逻辑⽆法共⽤。

基于soa的架构SOA:⾯向服务的架构。

也就是把⼯程拆分成服务层、表现层两个⼯程。

服务层中包含业务逻辑,只需要对外提供服务即可。

表现层只需要处理和页⾯的交互,业务逻辑都是调⽤服务层的服务来实现。

分布式架构和soa架构有什么区别?SOA,主要还是从服务的⾓度,将⼯程拆分成服务层、表现层两个⼯程。

分布式,主要还是从部署的⾓度,将应⽤按照访问压⼒进⾏归类,主要⽬标是充分利⽤服务器的资源,避免资源分配不均集群:⼀个集群系统是⼀群松散结合的服务器组,形成⼀个虚拟的服务器,为客户端⽤户提供统⼀的服务。

对于这个客户端来说,通常在访问集群系统时不会意识到它的服务是由具体的哪⼀台服务器提供。

集群的⽬的,是为实现负载均衡、容错和灾难恢复。

以达到系统可⽤性和可伸缩性的要求。

集群系统⼀般应具⾼可⽤性、可伸缩性、负载均衡、故障恢复和可维护性等特殊性能。

⼀般同⼀个⼯程会部署到多台服务器上。

常见的tomcat集群,Redis集群,Zookeeper集群,数据库集群分布式与集群的区别:分布式是指将不同的业务分布在不同的地⽅。

⽽集群指的是将⼏台服务器集中在⼀起,实现同⼀业务。

⼀句话:分布式是并联⼯作的,集群是串联⼯作的。

分布式中的每⼀个节点,都可以做集群。

⽽集群并不⼀定就是分布式的。

举例:就⽐如新浪⽹,访问的⼈多了,他可以做⼀个群集,前⾯放⼀个响应服务器,后⾯⼏台服务器完成同⼀业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪⼀台去完成。

如何在Linux上安装和配置Tomcat服务器

如何在Linux上安装和配置Tomcat服务器

如何在Linux上安装和配置Tomcat服务器Tomcat是一个开源的Java Servlet容器,它提供了一个实现Java服务并运行Java Web应用程序的环境。

在Linux操作系统上,安装和配置Tomcat服务器是常见的任务之一。

本文将介绍如何在Linux上安装和配置Tomcat服务器的步骤。

一、安装JDK在安装Tomcat之前,需要先安装Java Development Kit(JDK)。

可以从Oracle官方网站下载最新版本的JDK,并根据Linux的系统架构选择正确的安装包。

下载完成后,执行安装过程并设置JAVA_HOME环境变量。

二、下载Tomcat访问Tomcat官方网站,选择最新版本的Tomcat并下载。

下载完成后,将Tomcat压缩包解压到合适的目录中。

例如,可以将Tomcat解压到`/opt`目录下。

三、配置环境变量打开终端,使用编辑器(如vi或nano)打开`~/.bashrc`文件,并添加以下内容:```export CATALINA_HOME=/opt/apache-tomcat-x.x.xexport PATH=$PATH:$CATALINA_HOME/bin```保存并退出文件。

然后使用以下命令使环境变量生效:```source ~/.bashrc```四、配置Tomcat用户为了增加安全性,可以创建一个专门用于运行Tomcat的用户。

在终端中执行以下命令来创建一个新用户:```sudo adduser tomcat```根据提示设置新用户的密码。

五、修改Tomcat目录权限为了保护Tomcat目录的安全性,需要将所有者设置为刚刚创建的`tomcat`用户。

使用以下命令修改目录权限:```sudo chown -R tomcat:tomcat /opt/apache-tomcat-x.x.x```六、启动Tomcat现在,可以启动Tomcat服务器了。

在终端中执行以下命令:```cd /opt/apache-tomcat-x.x.x/bin./startup.sh```七、配置防火墙如果启用了防火墙,需要打开Tomcat所使用的端口。

部署高可用 Tomcat 集群

部署高可用 Tomcat 集群

部署高可用 Tomcat 集群随着互联网应用的不断增多,单个服务器往往难以承受高并发访问的压力,因此采用集群的方式进行部署成为一种常见的解决方案。

Tomcat作为JAVA的应用服务器,也适用于集群的部署。

本文将介绍如何部署高可用Tomcat集群。

一、负载均衡器的选择在部署Tomcat集群之前,我们需要选择一款负载均衡器。

负载均衡器可以将客户端的请求分发到不同的服务器上,从而实现负载均衡。

目前比较常见的负载均衡器有Nginx、HAProxy和Apache等。

在选择负载均衡器时,需要考虑以下因素:1. 功能和性能:负载均衡器需要支持HTTP和HTTPS协议,并能够处理高并发请求。

2. 配置的难易程度:负载均衡器的配置文件需要考虑到性能和使用方便之间的平衡。

3. 社区支持和文档资料:负载均衡器的使用需要有足够的社区支持和文档资料。

综合考虑,我们选择Nginx作为负载均衡器。

二、Tomcat集群节点的设置在设置Tomcat集群节点之前,需要先确定采用的集群方式。

Tomcat集群可以采用共享存储方式或互相同步的方式。

共享存储方式:采用共享存储方式的Tomcat集群将共享同一份资源,包括代码、配置文件和缓存等。

当其中一个节点收到请求时,它将先查询本地缓存,如果不存在则从共享文件系统中读取数据。

互相同步的方式:采用互相同步的方式的Tomcat集群则每个节点都保留一份相同的资源,当其中一个节点更新相应的资源时,其他节点也会同步更新。

在本文中,我们将采用互相同步的方式。

为了实现互相同步,我们需要进行如下配置:1. 安装rsync在每个节点上都需要安装rsync,可以使用yum或apt-get等包管理器安装。

2. 创建Tomcat用户创建一个以Tomcat命名的用户,并赋予其Tomcat所在目录的读写执行权限。

3. 配置rsync在每个节点上都需要配置rsync,使其能够同步Tomcat的配置文件、程序文件和文件夹等。

Apache2.4+Tomcat7.0整合配置详解

Apache2.4+Tomcat7.0整合配置详解

Apache2.4+Tomcat7.0整合配置详解⼀、简单介绍 Apache、TomcatApache HTTP Server(简称 Apache),是 Apache 软件基⾦协会的⼀个开放源码的⽹页服务器,可以在 Windows、Unix、Linux 等操作系统中运⾏是最流⾏的Web服务器软件之⼀。

Apache 反应速度快,运⾏效率⾼,但只⽀持HTML等静态页⾯(加载插件后也可⽀持 PHP 页⾯)。

Apache Tomcat 是由 Apache 软件基⾦协会与 Sun 公司联合开发的⼀款Web服务器,它除了⽀持HTML等静态页⾯外,还⽀持JSP、Servlet 。

在相同的运⾏环境下,Tomcat 对静态页⾯的反应速度没有 Apache 灵敏,整合 Apache 与 Tomcat 能使系统运⾏于⼀个良好环境下,提⾼系统效率。

⼆、软件包下载运⾏环境:Windows 7Apache 2.4 下载:Tomcat 7.0 下载:JDK 6 下载:mod_jk.mo 连接包下载:下载mod_jk时⼀定要看清版本,下载对应的版本如果已有tomcat和jdk,则不⽤另外下载三、Apache 2.4 安装下载的apache2.4如下图所⽰,直接解压到D:\apache-httpd修改⽂件D:\apache-httpd\conf\httpd.conf,端⼝改为8000,程序⽬录指定为E:\apache-tomcat-7.0.50\webapps\ROOT(即tomcat程序所在⽬录,此⽬录可以修改)ServerRoot "D:/apache-httpd"## Mutex: Allows you to set the mutex mechanism and mutex file directory# for individual mutexes, or change the global defaults## Uncomment and change the directory if mutexes are file-based and the default # mutex file directory is not on a local disk or is not appropriate for some# other reason.## Mutex default:logs## Listen: Allows you to bind Apache to specific IP addresses and/or# ports, instead of the default. See also the <VirtualHost># directive.## Change this to Listen on specific IP addresses as shown below to# prevent Apache from glomming onto all bound IP addresses.##Listen 12.34.56.78:80Listen 8000## Dynamic Shared Object (DSO) Support## To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule' lines at this location so the# directives contained in it are actually available _before_ they are used.# Statically compiled modules (those listed by `httpd -l') do not need# to be loaded here.## Example:# LoadModule foo_module modules/mod_foo.so#LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.soLoadModule alias_module modules/mod_alias.soLoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.soLoadModule auth_basic_module modules/mod_auth_basic.so#LoadModule auth_digest_module modules/mod_auth_digest.so#LoadModule auth_form_module modules/mod_auth_form.so#LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core.so#LoadModule authn_dbd_module modules/mod_authn_dbd.so#LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_file.so#LoadModule authn_socache_module modules/mod_authn_socache.so#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so#LoadModule authz_dbd_module modules/mod_authz_dbd.so#LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so#LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so#LoadModule buffer_module modules/mod_buffer.so#LoadModule cache_module modules/mod_cache.so#LoadModule cache_disk_module modules/mod_cache_disk.so#LoadModule cache_socache_module modules/mod_cache_socache.so#LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so#LoadModule charset_lite_module modules/mod_charset_lite.so#LoadModule data_module modules/mod_data.so#LoadModule dav_module modules/mod_dav.so#LoadModule dav_fs_module modules/mod_dav_fs.so#LoadModule dav_lock_module modules/mod_dav_lock.so#LoadModule dbd_module modules/mod_dbd.so#LoadModule deflate_module modules/mod_deflate.soLoadModule dir_module modules/mod_dir.so#LoadModule dumpio_module modules/mod_dumpio.soLoadModule env_module modules/mod_env.so#LoadModule expires_module modules/mod_expires.so#LoadModule ext_filter_module modules/mod_ext_filter.so#LoadModule file_cache_module modules/mod_file_cache.so#LoadModule filter_module modules/mod_filter.so#LoadModule http2_module modules/mod_http2.so#LoadModule headers_module modules/mod_headers.so#LoadModule heartbeat_module modules/mod_heartbeat.so#LoadModule heartmonitor_module modules/mod_heartmonitor.so#LoadModule ident_module modules/mod_ident.so#LoadModule imagemap_module modules/mod_imagemap.soLoadModule include_module modules/mod_include.so#LoadModule info_module modules/mod_info.soLoadModule isapi_module modules/mod_isapi.so#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so#LoadModule ldap_module modules/mod_ldap.so#LoadModule logio_module modules/mod_logio.soLoadModule log_config_module modules/mod_log_config.so#LoadModule log_debug_module modules/mod_log_debug.so#LoadModule log_forensic_module modules/mod_log_forensic.so#LoadModule lua_module modules/mod_lua.so#LoadModule macro_module modules/mod_macro.soLoadModule mime_module modules/mod_mime.so#LoadModule mime_magic_module modules/mod_mime_magic.soLoadModule negotiation_module modules/mod_negotiation.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so#LoadModule proxy_express_module modules/mod_proxy_express.so#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.so#LoadModule proxy_html_module modules/mod_proxy_html.soLoadModule proxy_http_module modules/mod_proxy_http.so#LoadModule proxy_http2_module modules/mod_proxy_http2.so#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so#LoadModule ratelimit_module modules/mod_ratelimit.so#LoadModule reflector_module modules/mod_reflector.so#LoadModule remoteip_module modules/mod_remoteip.so#LoadModule request_module modules/mod_request.so#LoadModule reqtimeout_module modules/mod_reqtimeout.soLoadModule rewrite_module modules/mod_rewrite.so#LoadModule sed_module modules/mod_sed.so#LoadModule session_module modules/mod_session.so#LoadModule session_cookie_module modules/mod_session_cookie.so#LoadModule session_crypto_module modules/mod_session_crypto.so#LoadModule session_dbd_module modules/mod_session_dbd.soLoadModule setenvif_module modules/mod_setenvif.so#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so#LoadModule socache_dbm_module modules/mod_socache_dbm.so#LoadModule socache_memcache_module modules/mod_socache_memcache.so#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule speling_module modules/mod_speling.soLoadModule ssl_module modules/mod_ssl.so#LoadModule status_module modules/mod_status.so#LoadModule substitute_module modules/mod_substitute.so#LoadModule unique_id_module modules/mod_unique_id.so#LoadModule userdir_module modules/mod_userdir.so#LoadModule usertrack_module modules/mod_usertrack.so#LoadModule version_module modules/mod_version.so#LoadModule vhost_alias_module modules/mod_vhost_alias.so#LoadModule watchdog_module modules/mod_watchdog.so#LoadModule xml2enc_module modules/mod_xml2enc.so<IfModule unixd_module>## If you wish httpd to run as a different user or group, you must run# httpd as root initially and it will switch.## User/Group: The name (or #number) of the user/group to run httpd as.# It is usually good practice to create a dedicated user and group for# running httpd, as with most system services.#User daemonGroup daemon</IfModule># 'Main' server configuration## The directives in this section set up the values used by the 'main'# server, which responds to any requests that aren't handled by a# <VirtualHost> definition. These values also provide defaults for# any <VirtualHost> containers you may define later in the file.## All of these directives may appear inside <VirtualHost> containers,# in which case these default settings will be overridden for the# virtual host being defined.### ServerAdmin: Your address, where problems with the server should be# e-mailed. This address appears on some server-generated pages, such# as error documents. e.g. admin@#ServerAdmin aaa123@## ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup.## If your host doesn't have a registered DNS name, enter its IP address here. #ServerName localhost## Deny access to the entirety of your server's filesystem. You must# explicitly permit access to web content directories in other# <Directory> blocks below.#<Directory />AllowOverride noneRequire all denied</Directory>## Note that from this point forward you must specifically allow# particular features to be enabled - so if something's not working as# you might expect, make sure that you have specifically enabled it# below.### DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.#DocumentRoot "E:\apache-tomcat-7.0.50\webapps\ROOT"<Directory "E:\apache-tomcat-7.0.50\webapps\ROOT">## Possible values for the Options directive are "None", "All",# or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* --- "Options All"# doesn't give it to you.## The Options directive is both complicated and important. Please see# /docs/2.4/mod/core.html#options# for more information.#Options Indexes FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# AllowOverride FileInfo AuthConfig Limit#AllowOverride None## Controls who can get stuff from this server.#Require all granted</Directory>## DirectoryIndex: sets the file that Apache will serve if a directory# is requested.#<IfModule dir_module>DirectoryIndex index.html index.php index.htm index.jsp</IfModule>## The following lines prevent .htaccess and .htpasswd files from being# viewed by Web clients.#<Files ".ht*">Require all denied</Files>## ErrorLog: The location of the error log file.# If you do not specify an ErrorLog directive within a <VirtualHost># container, error messages relating to that virtual host will be# logged here. If you *do* define an error logfile for a <VirtualHost># container, that host's errors will be logged there and not here.#ErrorLog "logs/error.log"## LogLevel: Control the number of messages logged to the error_log.# Possible values include: debug, info, notice, warn, error, crit,# alert, emerg.#LogLevel warn<IfModule log_config_module>## The following directives define some format nicknames for use with# a CustomLog directive (see below).#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common<IfModule logio_module># You need to enable mod_logio.c to use %I and %OLogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule>## The location and format of the access logfile (Common Logfile Format).# If you do not define any access logfiles within a <VirtualHost># container, they will be logged here. Contrariwise, if you *do*# define per-<VirtualHost> access logfiles, transactions will be# logged therein and *not* in this file.#CustomLog "logs/access.log" common## If you prefer a logfile with access, agent, and referer information# (Combined Logfile Format) you can use the following directive.##CustomLog "logs/access.log" combined</IfModule><IfModule alias_module>## Redirect: Allows you to tell clients about documents that used to# exist in your server's namespace, but do not anymore. The client# will make a new request for the document at its new location.# Example:# Redirect permanent /foo /bar## Alias: Maps web paths into filesystem paths and is used to# access content that does not live under the DocumentRoot.# Example:# Alias /webpath /full/filesystem/path## If you include a trailing / on /webpath then the server will# require it to be present in the URL. You will also likely# need to provide a <Directory> section to allow access to# the filesystem path.## ScriptAlias: This controls which directories contain server scripts.# ScriptAliases are essentially the same as Aliases, except that# documents in the target directory are treated as applications and# run by the server when requested rather than as documents sent to the# client. The same rules about trailing "/" apply to ScriptAlias# directives as to Alias.#ScriptAlias /cgi-bin/ "D:/apache-httpd/cgi-bin/"</IfModule><IfModule cgid_module>## ScriptSock: On threaded servers, designate the path to the UNIX# socket used to communicate with the CGI daemon of mod_cgid.##Scriptsock cgisock</IfModule>## "D:/apache-httpd/cgi-bin" should be changed to whatever your ScriptAliased# CGI directory exists, if you have that configured.#<Directory "D:/apache-httpd/cgi-bin">AllowOverride NoneOptions NoneRequire all granted</Directory><IfModule mime_module>## TypesConfig points to the file containing the list of mappings from# filename extension to MIME-type.#TypesConfig conf/mime.types## AddType allows you to add to or override the MIME configuration# file specified in TypesConfig for specific file types.##AddType application/x-gzip .tgz## AddEncoding allows you to have certain browsers uncompress# information on the fly. Note: Not all browsers support this.##AddEncoding x-compress .Z#AddEncoding x-gzip .gz .tgz## If the AddEncoding directives above are commented-out, then you# probably should define those extensions to indicate media types:#AddType application/x-compress .ZAddType application/x-gzip .gz .tgz## AddHandler allows you to map certain file extensions to "handlers":# actions unrelated to filetype. These can be either built into the server# or added with the Action directive (see below)## To use CGI scripts outside of ScriptAliased directories:# (You will also need to add "ExecCGI" to the "Options" directive.)##AddHandler cgi-script .cgi# For type maps (negotiated resources):#AddHandler type-map var## Filters allow you to process content before it is sent to the client.## To parse .shtml files for server-side includes (SSI):# (You will also need to add "Includes" to the "Options" directive.)##AddType text/html .shtml#AddOutputFilter INCLUDES .shtml</IfModule>## The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile# directive tells the module where the hint definitions are located.##MIMEMagicFile conf/magic## Customizable error responses come in three flavors:# 1) plain text 2) local redirects 3) external redirects## Some examples:#ErrorDocument 500 "The server made a boo boo."#ErrorDocument 404 /missing.html#ErrorDocument 404 "/cgi-bin/missing_handler.pl"#ErrorDocument 402 /subscription_info.html### MaxRanges: Maximum number of Ranges in a request before# returning the entire resource, or one of the special# values 'default', 'none' or 'unlimited'.# Default setting is to accept 200 Ranges.#MaxRanges unlimited## EnableMMAP and EnableSendfile: On systems that support it,# memory-mapping or the sendfile syscall may be used to deliver# files. This usually improves server performance, but must# be turned off when serving from networked-mounted# filesystems or if support for these functions is otherwise# broken on your system.# Defaults: EnableMMAP On, EnableSendfile Off##EnableMMAP off#EnableSendfile on# Supplemental configuration## The configuration files in the conf/extra/ directory can be# included to add extra features or to modify the default configuration of # the server, or you may simply copy their contents here and change as # necessary.# Server-pool management (MPM specific)#Include conf/extra/httpd-mpm.conf# Multi-language error messages#Include conf/extra/httpd-multilang-errordoc.conf# Fancy directory listings#Include conf/extra/httpd-autoindex.conf# Language settings#Include conf/extra/httpd-languages.conf# User home directories#Include conf/extra/httpd-userdir.conf# Real-time info on requests and configuration#Include conf/extra/httpd-info.conf# Virtual hosts#Include conf/extra/httpd-vhosts.conf# Local access to the Apache HTTP Server Manual#Include conf/extra/httpd-manual.conf# Distributed authoring and versioning (WebDAV)#Include conf/extra/httpd-dav.conf# Various default settings#Include conf/extra/httpd-default.conf# Configure mod_proxy_html to understand HTML4/XHTML1<IfModule proxy_html_module>Include conf/extra/proxy-html.conf</IfModule># Secure (SSL/TLS) connections#Include conf/extra/httpd-ssl.conf## Note: The following must must be present to support# starting without SSL on platforms with no /dev/random equivalent# but a statically compiled-in mod_ssl.#<IfModule ssl_module>SSLRandomSeed startup builtinSSLRandomSeed connect builtin</IfModule>完成配置后,启动Apache 2.4,在 "E:\apache-tomcat-7.0.50\webapps\ROOT" 添加静态页⾯ index.html。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux平台Apache双机高可用集群+ Tomcat负载均衡集群配置手册在这个配置手册中,使用的操作系统和软件清单如下:操作系统:RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装)软件:jdk-1_5_0_15-linux-amd64.binTomcat5.5.26httpd-2.0.63.tar.gzjakarta-tomcat-connectors-jk2-src-current.tar.gzipvsadm-1.24.tar.gzlibnet.tar.gzheartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。

本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。

jdk-1_5_0_15-linux-amd64.binJAVA环境包使用的是64位1.5版Tomcat版本为公司指定的5.5版本Apache为2.0.63版jakarta-tomcat-connectors-jk2-src-current.tar.gz是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载ipvsadm-1.24.tar.gzlibnet.tar.gz这两个是用于2台Apache服务器虚拟一个IP地址使用heartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm这3个软件是用于2台Apache服务器之间的心跳检测结构图Apache1以以以以以Tomcat1Tomcat2Apache22台Tomcat服务器使用Tomcat软件可以自己做集群,2台Apache服务器需要其他的软件实现虚拟服务器功能,工作站访问虚拟IP地址访问2台Apache服务器,再通过Apache服务器访问Tomcat服务器第3 页总13 页1.安装JAVA环境包1)输入命令:./ jdk-1_5_0_15-linux-amd64.bin执行完毕后,会在当前目录下生成一个JDK-1.5.0_15的文件夹2)在 /usr/local/下新建一个名字为JAVA文件夹,将个JDK-1.5.0_15的文件夹拷入到该文件夹下3)设置环境变量。

进入到 /etc 下,找到一个名为profile的文件,使用TXT方式打开,再改文件内容最后添加如下内容:JAVA_HOME=/usr/java/jdk1.5.0_15CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/libPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/binexport PATH JAVA_HOME CLASSPATH4)重启服务器。

重启后输入命令:java –version如果显示的jdk版本和安装的软件一样,则java环境已经装好在每个Apache和Tomcat服务器上都安装JAVA环境2.Tomcat的安装和集群配置1)这里使用的Tomcat是一个已经解压缩了的程序包,拷入到具体的文件加下,就可以直接启动。

启动方法是通过终端进入该Tomcat程序包,输入:./catalina.sh run 。

Tomcat 启动后,在浏览器中输入该服务器的IP地址,通过8080端口打开,如果能看到以下页面,代表Tomcat安装成功。

分别在2台Tomcat服务器上安装并能正常启动Tomcat2)现在开始配置Tomcat集群。

A.分别修改两个个tomcat的配置文件conf/server.xml,修改内容如下修改前<!--<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"managerClassName="org.apache.catalina.cluster.session.D eltaManager"expireSessionsOnShutdown="false"useDirtyFlag="true"notifyListenersOnReplication="true"><MembershipclassName="org.apache.catalina.cluster.mcast.McastServic e"mcastAddr="228.0.0.4"mcastPort="45564"mcastFrequency="500"mcastDropTime="3000"/><ReceiverclassName="org.apache.catalina.cluster.tcp.ReplicationLi stener"tcpListenAddress="auto"tcpListenPort="4001"tcpSelectorTimeout="100"tcpThreadCount="6"/><SenderclassName="org.apache.catalina.cluster.tcp.ReplicationTr ansmitter"replicationMode="pooled"ackTimeout="5000"/><ValveclassName="org.apache.catalina.cluster.tcp.ReplicationValve"filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/><DeployerclassName="org.apache.catalina.cluster.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListenerclassName="org.apache.catalina.cluster.session.ClusterSessionListener"/></Cluster>-->修改后<!-- modify by whh --><Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"managerClassName="org.apache.catalina.cluster.session.D eltaManager"expireSessionsOnShutdown="false"useDirtyFlag="true"notifyListenersOnReplication="true"><MembershipclassName="org.apache.catalina.cluster.mcast.McastServic e"mcastAddr="228.0.0.4"mcastPort="45564"mcastFrequency="500"mcastDropTime="3000"/><ReceiverclassName="org.apache.catalina.cluster.tcp.ReplicationLi stener"tcpListenAddress="auto"tcpListenPort="4001"tcpSelectorTimeout="100"tcpThreadCount="6"/><SenderclassName="org.apache.catalina.cluster.tcp.ReplicationTr ansmitter"replicationMode="pooled"ackTimeout="5000"/><ValveclassName="org.apache.catalina.cluster.tcp.ReplicationValve"filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\. html;.*\.css;.*\.txt;"/><DeployerclassName="org.apache.catalina.cluster.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListenerclassName="org.apache.catalina.cluster.session.ClusterSessionListener"/></Cluster><!-- modify by whh -->将集群配置选项的注释放开即可,即删除CLUSTER的注释:<!— -->B.再分别修改两个tomcat的配置文件conf/server.xml,修改内容如下修改前<!-- An Engine represents the entry point (within Catalina) that processes every request. The Engine implementation for Tomcat stand aloneanalyzes the HTTP headers included with the request, and passes themon to the appropriate Host (virtual host). --><!-- You should set jvmRoute to support load-balancing via AJP ie :<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">--><!-- Define the top level container in our container hierarchy --><Engine name="Catalina" defaultHost="localhost">修改后<!-- An Engine represents the entry point (within Catalina) that processesevery request. The Engine implementation for Tomcat stand aloneanalyzes the HTTP headers included with the request, and passes themon to the appropriate Host (virtual host). --><!-- You should set jvmRoute to support load-balancing via AJP ie :--><Engine name=" Catalina " defaultHost="localhost"jvmRoute="tomcat1"><!-- Define the top level container in our container hierarchy<Engine name="Catalina" defaultHost="localhost">-->将其中的Engine name="Standalone"全部修改为Engine name=" Catalina "和Engine name=" Catalina "将其中的jvmRoute="jvm1"分别修改为jvmRoute="tomcat1"和jvmRoute="tomcat2"注意:A.此处将Standalone修改为Catalina是为了配合大洋公司的检索软件使用,如是其他软件请更具具体环境配置B.tomcat1和tomcat2是两台Tomcat服务器的机器名,请根据实际环境配置3)重新启动两个Tomcat程序,至此Tomcat集群配置完毕3.Apache安装及Apache与Tomcat互联1)安装Apache。

相关文档
最新文档