1、基于Apache和tomcat实现负载均衡

准备三个虚拟机一个安装Apache两个安装Tomcat

关闭防火墙

systemctl stop firewalld

Iptabled -F

Setenforce 0

安装Apache

一.通过 https://apr.apache.org/  下载 APR 和 APR-util

通过 http://httpd.apache.org/download.cgi   下载 httpd

通过 https://ftp.pcre.org/pub/pcre/   下载  pcre

二、配置安装环境

yum -y install gcc gcc-c++ make expat-devel

三、解压与编译安装

mkdir /data

(1)编译安装 APR

tar xf apr-1.7.0.tar.gz -C /data

cd /data

mv apr-1.7.0/ apr

cd apr/

./configure --prefix=/data/apr && make && make install

(2)编译安装 APR-util

tar xf apr-util-1.6.1.tar.gz -C /data

cd /data

mv apr-util-1.6.1/ apr-util

cd apr-util/

./configure --prefix=/data/apr-util --with-apr=/data/apr && make && make install

(3)编译安装 pcre

tar xf pcre-8.43.tar.gz -C /data

cd /data

mv pcre-8.43/ pcre

cd pcre/

./configure --prefix=/data/pcre && make && make install

(4)编译安装 httpd

tar xf httpd-2.4.41.tar.gz -C /data

cd /data

mv httpd-2.4.41/ apache

cd apache/

./configure --prefix=/data/apache --with-apr=/data/apr --with-apr-util=/data/apr-util && make && make install

四、启动与关闭

/data/apache/bin/apachectl start //启动

/data/apache/bin/apachectl  stop //关闭

开放80端口

firewall-cmd --permanent --and-port=80/tcp

firewall-cmd -reload

配置开机自启

(1)将 apachectl 命令拷贝到 /etc/init.d 目录下,改名为httpd

cp /data/apache/bin/apachectl /etc/init.d/httpd

(2)编辑 /etc/init.d/httpd 文件,在第一行 #!/bin/bash 的后面添加如下两行

chkconfig: 2345 70 40

说明:2345 表示脚本运行的级别,即在2、3、4、5这4种模式下都可以运行,70 表示脚本启动的顺序号,40 表示系统关闭时,脚本的停止顺序号

description:apache

(3)将 Apache 服务加入到系统服务

chkconfig --add httpd

chkconfig --list httpd

(4)通过使用 systemctl 命令控制 Apache 的启动和停止

启动 Apache 服务

systemctl start httpd.service

查看 Apache 服务运行状态

systemctl status httpd.service

关闭 Apache 服务

systemctl stop httpd.service

五、安装中遇到的问题以及解决办法

错误:configure:error:no acceptable C compiler found in $PATH

解决:需要安装 gcc

错误:rm:cannot remove ‘libtoolT’:No such file or directory

解决:编辑 /data/apr/configure , 找到 $RM '$cfgfile' 进行注释

错误:configure:error:APR not found. Please read the documentation.

解决:需要安装 APR 和 APR-util

错误:xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录

解决:需要安装 expat-devel 包

错误:configure:error:pcre-config for libpcre not found. PCRE is required and availab le from

解决:需要安装 pcre

错误:如果报多个 .so:undefined reference to 'XXX'

解决:有可能是下载的 APR-util  包 有问题。换一个下载就好了。

安装完apache后直接安装httpd服务

yum -y install httpd

源码安装Tomcat

(1)查看是否安装jdk

(2)卸载jdk的方式

方法一:which java

rm -rf /usr/bin/java

方法二:rpm -qa | grep -i openjdk

rpm -e java-1.7.0-openjdk

rpm -e java-1.7.0-openjdk-headless

rpm -e java-1.7.0-openjdk --nodeps

rpm -e java-1.7.0-openjdk-headless

rpm -qa | grep -i openjdk

(3)jdk安装

软件包jdk-8u191-linux-x64.tar.gz

解压当前目录下

用mv 移动到/usr/local/取名

定义环境变量 vim /etc/profile

设置java 根目录

在PATH 环境变量中添加Java 根目录的bin 子目录

用 source执行生效

安装tomcat

apache-tomcat-8.5.40.tar.gz

解压软件包当地

用ls 查看

解压后生成文件夹apache-tomcat-8.5.40

将文件夹移动到/usr/local/下,并改名为tomcat8

启动tomcat

查看8080端口

用谷歌查看本地的ip 地址:8080

安装完apache以及tomcat后

修改/etc/httpd/conf/httpd.conf

把下面的内容写到最后文件的最后,打开文件的80端口

#添加以下内容

<Proxy balancer://tomcat/>

# 定义集群成员,有多少个Tomcat,就加多少行,注意IP、端口

BalancerMember ajp://192.168.200.11:8009/ loadfactor=1  #权重为1

BalancerMember ajp://192.168.200.12:8009/ loadfactor=1

proxyset lbmethod=byrequests  #均衡分配

</Proxy>

proxyrequests   off  #取消正向代理

ProxyPass / balancer://tomcat/   # 定义一个代理服务 语法:ProxyPass 路径 协议://名称/

proxypassreverse / balancer://tomcats/

# 不要代理/server-status路径,注意最后的感叹号

# /server-status路径是Apache里面用来统计、跟踪它本身的运行情况的

ProxyPass /server-status !

# 不要代理集群管理器的路径

ProxyPass /balancer-manager !

通过浏览器访问自己主机的ip

基于Apache+Tomcat实现负载均衡的更多相关文章

  1. Apache+Tomcat部署负载均衡(或集群)

    本来只打算写Tomcat集群部署,简化Apache和Tomcat整合过程的.后来想了想,这样不便于没有用过Apache的朋友来学习本文内容.于是干脆加大篇幅,让对Apache不了解的朋友能对Apach ...

  2. apache+tomcat配置负载均衡,实现http与websocket接口分压

    一.应用场景 在生产环境中,应用服务器(此文以tomcat为例)不免面临高访问量的压力,相比而言web服务器(此文以apache为例)能够承担更大的并发量.Apache本身带有一些模块,可以完成对应用 ...

  3. Apache+Tomcat+mod_jk负载均衡

    一.需要的软件 1.jdk1.5以上 2.Tomcat6以上 3.Apache2.2以上 ,地址http://apache.dataguru.cn//httpd/binaries/win32/ ,名称 ...

  4. Apache+Tomcat实现负载均衡

    反向代理负载均衡 (Apache2+Tomcat7/8) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的.这种代理方 ...

  5. Apache +Tomcat的负载均衡与集群配置

    实验拓扑图: 一.搭配环境 (1).Tomcat的安装和配置 Tomcat_a的ip:192.168.55.229 Tomcat_b的ip:192.168.55.231 Tomcat的需要安装jdk和 ...

  6. centos6.5 apache+tomcat结合 负载均衡

    一. 负载均衡:根据 uri 表达式把请求分发给各个服务器处理.如:/*.jsp = lb_s  就是说把所有jsp请求交给lb_s , 当然它是个Tomcat. 二. 安装配置mod_jk    m ...

  7. apache tomcat搭建负载均衡(实现集群中的session同步)

    原理:tomcat 做个WEB服务器有它的局限性,处理能力低,效率低.承受并发小(1000左右).但目前有不少网站或者页面是JSP的.并采用了tomcat做为WEB,因此只能在此基础上调优. 目前采取 ...

  8. Linux搭建Apache+Tomcat实现负载均衡

    一.首先需要安装java,详见http://www.cnblogs.com/fun0623/p/4350004.html 二.编译安装Apache,详见http://www.cnblogs.com/f ...

  9. 基于Apache和tomcat实现负载均衡

    1.基于Apache和tomcat实现负载均衡 准备三个虚拟机一个安装Apache两个安装Tomcat 关闭防火墙 systemctl stop firewalld Iptabled -F Seten ...

随机推荐

  1. Aggressive cows(二分法)

    Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28666 Accepted: 13146 Des ...

  2. Light of future-冲刺集合

    table th:nth-of-type(1) { width: 85px; } table th:nth-of-type(2){ width: 80px; } table th:nth-of-typ ...

  3. Visual Studio Code 1.44 设置简体中文界面语言(小白图文教程)

    作为一款微软出品的编辑器,安装完毕后,默认界面竟然不是中文!而更“丧心病狂”的是菜单里竟然连“设置”或“设置语言”这种PC软件常见选项也没有!!这种设计对小白而言简直 反!!!人!!!类!!! (默认 ...

  4. BadMethodCallException : Call to undefined method App\Models\Article::setContainer()

    如果你执行 php artisan db:seed 发生如下错误 说是模型中不存在 静态方法 setContainer()方法,那么你应该检查下你的DatabaseSeeder.php 文件 中的 r ...

  5. 20 java 基础回顾--中阶引入

    一.数据类型 基本数据类型(共:四类八种) 整数 byte short int long 浮点 float double 字符 char 布尔 boolean 引用数据类型(new的数据) Stude ...

  6. "四号标题"组件:<h4> —— 快应用组件库H-UI

     <import name="h4" src="../Common/ui/h-ui/text/c_h4"></import> < ...

  7. Struts2-学习笔记系列(13)-类型转换异常和校验器

    Struts2框架有默认的类型转换错误拦截机制,该配置在struts-default.xml中,名叫conversionError,但是想使用需要继承ActionSupport. 默认的错误提示信息是 ...

  8. Java入门第一阶段总结

    前言 写了三周的模拟题,对原本就厌恶的模拟更加深恶痛绝.但是不得不说模拟题是对一门语言入门掌握其语法成效最快的一类题,轻松地从C入门到了Java.一直坚信各门语言都是想通的,一力破万法. 作业过程总结 ...

  9. Pod容器共享Volume

    同一个Pod中的多个容器能够共享Pod级别的存储卷Volume.Volume可以被定义为各种类型,多个容器各自进行挂载操作,将一个Volume挂载为容器内部需要的目录,如图 在下面的例子中,在Pod内 ...

  10. jpa是什么,和hibernate 有什么关系

    JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.JPA 的目标之一是制定一个可以由很多供应商实现的API,并且开发人员可以编码来实现该API,而不 ...