Linux系统实现Apache负载均衡

因项目需要最近研究了下Linux 红帽 6.5下实现Apache负载均衡的问题。从干净的环境说起。

1、安装JDK环境

首先下载linux版本的JDK,我使用的是jdk-6u24-linux-x64-rpm.bin,并将该文件上传至服务器的指定目录。

chmod 777 jdk-6u24-linux-x64-rpm.bin修改文件的操作权限;

./jdk-6u24-linux-x64-rpm.bin,解压JDK文件;

rpm -ivh jdk-6u24-linux-x64-rpm,安装JDK;

配置环境变量:vi /etc/profile,在其中添加以下内容:

export JAVA_HOME=/usr/java/jdk1.6.0.24(其中你需要修改成你自己的安装目录)

export JAVA_BIN=/usr/java/jdk1.6.0.24/bin(其中你需要修改成你自己的安装目录)

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

使用命令使文件修改立即生效:. /etc/profile,其中要注意.后面的空格。

2、安装tomcat

首先下载linux版本的tomcat,我使用的是apache-tomcat-6.0.43.tar.gz,并将该文件上传至服务器的指定目录。

使用命令 tar -xf apache-tomcat-6.0.43.tar.gz解压tomcat文件;

mv apache-tomcat-6.0.43 tomcat1;cp -r tomcat1 tomcat2 ;此操作的目的在于讲tomcat备份两个,以达到负载均衡。

然后你可以自己在tomcat中放置测试文件来测试tomcat是否部署成功。

如果你有两台Linux服务器,则只需将tomcat拷贝到另一台机器上,如果在一台服务器上完成负载均衡,则需要需要其中一个tomcat的端口,但是不可以占用80端口。

备份conf/server.xml文件,并修改;

两个tomcat都同样的修改该文件,并记录下AJP所对应的端口号,我这里是8009,在Apache负载时需要用到。

3、安装Apache服务

下载Apache的安装包及JK的包。我分别使用的是httpd-2.2.29.tar.gz及tomcat-connectors-1.2.40-src.tar.gz,上传至服务器;

分别使用tar -xf 文件名进行解压操作;

编译apache服务器:cd httpd-2.2.21 ,在httpd下./configure --enable-so --enable-mods-shared=most --with-mpm=worker,其中设置worker是修改其工作模式。worker是全新的支持多线程和多进程混合模型的MPM;

使用make命令,开始编译;

使用sudo make install命令,开始安装;

进入到服务器的bin目录,启动服务:cd /usr/local/apache2/bin/         sudo ./apachectl start

在本地打开浏览器,访问http://127.0.0.1,如果出现“It Works!”,则表示启动成功了;

如果要在其他的机器上访问的话,要注意关闭Linux系统的防火墙;

4、编译JK连接器

进入到解压后的目录下的native目录:cd tomcat-connectors-1.2.40-src/native/;

执行./configure --with-apxs=/usr/local/apache2/bin/apxs配置编译;

使用make命令进行编译;

其中在apache-2.0目录下,将看到本次编译生成的mod_jk.so模块,将其拷贝到Apache的modules目录下:在apache-2.0目录下执行该命令:

sudo cp ./mod_jk.so /usr/local/apache2/modules/;

5、Apache服务配置

将apache服务目录中conf下的httpe.conf文件备份到别的目录,并使用vi进行编辑;

在LoadModle处增加:LoadModule jk_module modules/mod_jk.so;

在<IfModule XXXX>的地方增加以下:

<IfModule jk_module>

JkWorkersFile conf/workers.properties

JkMountFile conf/uriworkermap.properties

JkLogFile logs/mod_jk.log

JkLogLevel warn

< /IfModule>

<IfModule worker.c>

StartServers            5

ServerLimit            20

ThreadLimit           200

MaxClients           4000

MinSpareThreads        25

MaxSpareThreads       250

ThreadsPerChild       200

MaxRequestsPerChild  1000

</IfModule>

在conf下分别新建conf/workers.properties文件和conf/uriworkermap.properties,其内容分别是:

       

worker.s1.route的值即为server.xml中配置的JVMRoute的值。

在测试时,出现访问tomcat中项目503的错误,此时需要需要httpd.conf文件中的权限。

使用vi命令编辑httpd.conf文件,在

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory> 中,将Deny from all改为Allow from all。并确保80端口及tomcat所使用的端口都不被防火前拦截。

至此所有的配置以完成。

先分别启动两个tomcat的服务,启动成功后,进入到apache的bin目录下启动apache服务,命令:sudo ./apachectl start。

在浏览器中访问apache服务所在的地址。例如http://ip/project/index.jsp,测试负载时,可以停掉一个tomcat服务看是否能正常访问,然后重启关闭的tomcat,并关闭另一个tomcat,看是否能正常访问。

时间: 2024-08-01 00:03:58

Linux系统实现Apache负载均衡的相关文章

linux下lvs搭建负载均衡集群

常用开源集群软件有:lvs,keepalived,haproxy,nginx,apache,heartbeat 常用商业集群硬件有:F5,Netscaler,Radware,A10等 一.LVS介绍 LVS是linux virtual server的简写linux虚拟服务器,是一个虚拟的服务器集群系统,可以再unix/linux平台下实现负载均衡集群功能.该项目在1998年5月由章文嵩博士组织成立. LVS的三种工作模式:1.VS/NAT模式(Network address translatio

使用nginx+Apache负载均衡及动静分离

使用nginx+Apache负载均衡及动静分离 介绍    LB负载均衡集群分两类: LVS (四层)和 nginx或haproxy (七层)    客户端都是通过访问分发器的VIP来访问网站 在七层中的网站页面有: .php .html .png .jpeg .jsp 等, 有动态页面有静态页面. 需要在应用层基于不同的应用进行分发. 一:实验拓扑图:     二:实验目标 实战:使用Apache+nginx实现动静分离的负载均衡集群 三:实验环境 主机作用分类 主机名 IP地址 安装软件 N

JBOSS通过Apache负载均衡方法一:使用mod_jk

JBOSS通过Apache负载均衡方法一:使用mod_jk   本文第一.二节分别对Linux环境下前端使用Apache以及windows环境下前端使用IIS通过AJP协议和后端的JBOSS通信实现负载均衡进行说明,第三节对相应的参数做了解释. 一.   Linux环境下Apache + mod_jk + JBOSS Apache和JBOSS使用AJP协议,利用8009端口通过mod_jk来实现通信. 1.  安装并配置apache 下载apache代码包,上传到服务器. 解开代码包 [[ema

linux系统中apache虚拟目录配置

在搭建网站的时候,我们会经常在同一台服务器上面搭建多个站点,这时候就需要用到apache的虚拟机知识.下面就linux系统下apache虚拟目录的配置说简要说明: 1.源代码安装apache + PHP + MySQL(请查考我的博文lamp环境搭建): 2.在本地计算机的hosts文件加入如下行: 192.168.137.10 erp.100msh.com 192.168.137.10 mopadmin.100msh.com 然后cmd中 ping erp.100msh.com 检查是否网络通

Tomcat系列之Apache负载均衡请求至Tomcat及DeltaManager的使用

Tomcat系列之Apache负载均衡请求至Tomcat及DeltaManager的使用

apache负载均衡中有关于session会话的问题

以下是有关于apache负载均衡和反向代理的配置 <VirtualHost *:90>   #虚拟主机默认访问端口     ServerAdmin *     ServerName astg.vj.com  #服务器访问名           ServerAlias *.astg.vj.com #服务器访问别名     ProxyRequests Off #       <IfModule mod_rewrite.c> #               RewriteEngine o

nginx、Apache负载均衡后端主机tomcat,并实现session保持

一.实验环境准备 1.主机规划 Apache主机 172.18.12.20 TomcatA 172.18.12.21 TomcatB 172.18.12.22 2.tomcat主机安装和配置 # yum install -y java-1.7.0-openjdk java-1.7.0-openjdk-devel # vim /etc/profile.d/java.sh # yum install -y tomcat tomcat-lib tomcat-webapps tomcat-admin-w

《Apache负载均衡》RHEL6

Apache负载均衡的搭建,基于上篇<CDN web加速代理>搭建好的服务器,我们来搭建apache负载均衡: Apahe负载均衡:就是为了缓解一台服务器的压力而多台服务器配合使用. 基于上面配好的服务器: 我们还需要在添加一台apache服务器:192.168.1.136  只安装apache服务: 开启apache服务: 1.首先我们看下百度:很明显看到访问百度时它不止一个IP ,它是2台结合使用的. 2.修改双网卡主机的squid的配置文件: 3.重启apache服务: 客户端 4.首先

Apache负载 均衡

Apache学习之二.HTTPD的负载均衡 博客分类: Apache Apache学习之 一. HTTPD的安装与配置 Apache学习之 二. HTTPD的负载均衡 第2章 负载均衡 (黎明你好原创作品,转载请注明) 2.1 Tomcat链接方式 首先我们先介绍一下为什么要让http server与Tomcat之间进行连接.事实上Tomcat本身已经提供了HTTP服务,该服务默认的端口是8080,装好tomcat后通过8080端口可以直接使用Tomcat所运行的应用程序,你也可以将该端口改为8