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 配置负载均衡(mod-proxy方式)-无session共享、无粘性session

    转:https://blog.csdn.net/wangjunjun2008/article/details/38268483 mod-proxy方式实现负载均衡是利用了Apache 2.x版本自带的 ...

  2. Apache和Tomcat 配置负载均衡(mod-proxy方式)-粘性session

    Tomcat集群配置后端Tomcat Server为支持AJP的独立服务,前端Apache配置为粘性会话(sticky-session),Tomcat不配置Cluster配置和Session复制. 配 ...

  3. 基于nginx与Tomcat实现负载均衡

    server1:192.168.200.113(nginx服务端) server2:192.168.200.111(Tomcat服务端) server1中nginx的配置文件 nginx.conf h ...

  4. 基于Apache+Tomcat实现负载均衡

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

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

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

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

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

  7. Nginx 服务器 之Nginx与tomcat实现负载均衡

      本文讲解我们如何使用Nginx做反向带服务器,实现nginx与tomcat服务器集群做负载均衡. 一.nginx与tomcat实现负载均衡 1.在/usr/local/ngnix/conf  创建 ...

  8. 利用httpd对tomcat进行负载均衡配置

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有2台主机,IP分配如拓扑 实验软件:jdk-8u60-linux-x64 ...

  9. Tomcat(五):nginx/httpd + tomcat及负载均衡tomcat

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

随机推荐

  1. django实现多种支付、并发订单处理

    django实现多种支付方式 ''' #思路 我们希望,通过插拔的方式来实现多方式登录,比如新增一种支付方式,那么只要在项目中新增一个py文件,导入里面的pay方法就可以了,这样在支付业务中支付语句是 ...

  2. asp.net的原理

    Asp.net的作业流是指什么?很多人都不是很了解,也不知道是用来干什么的有怎样运用,其实能够从简略的基础了解. 作业流(Workflow),便是“事务进程的部分或全体在核算机使用环境下的主动化”(i ...

  3. 2. 词法"陷阱"

    1. 练习2-1 某些编译器允许嵌套注释.请写一个程序测试,要求:无论是对允许嵌套注释的编译器,还是对不允许嵌套注释的编译器,该程序都能正常通过编译,但是这两者情况下执行的结果却不相同. #inclu ...

  4. shell登陆加载的文件, 快捷命令, tee管道, nohup和&

    1. login shell和nologin shell的理解: 字面意思, 需要登陆的shell和不需要登陆的shell. 正确解释为: 加载用户环境配置的shell 和不加载用户环境配置的shel ...

  5. 【LOJ6397】「THUPC2018」蛋糕 / Cake(搜索)

    点此看题面 大致题意: 把一个\(a\times b\times c\times d\)的\(4\)维图形划分成\(a\times b\times c\times d\)个小块,求有\(0\sim8\ ...

  6. 【zibbix自定义监控】zabbix服务自定义监控mysql的状态信息

    由于mysql我安装在zabbix_server服务的主机上,所以下面操作在zabbix服务主机上进行,注意服务主机已经安装了监控服务 实现步骤: 1.修改 zabbix_agentd.conf,添加 ...

  7. 使用XShell工具 linux 常用命令

  8. Nginx之前后端分离(入门)

    几个月前,公司架构优化,首先就是前后端分离. 所谓前后端分离,就是在传统的前后端代码都在一个项目里的基础上,将前后端代码抽离,把前端代码从后端项目了分离出来,前后端开发人员各自在自己的项目里开发. 为 ...

  9. 【总结】《氨基酸新晋管理者领导力培训》第一次课_Day2_学习心得

    7月26日第二天学习心得: 今天主要学习了执行贯彻和绩效反馈两大块内容,我的心得有: 一.执行层面有两大原则:--理解员工需求: 回顾了一下自己以往的经历,一般这块我用的最多的一般是在接到一个新项目的 ...

  10. python 动态语言和协议编程

    动态语言:不需要去定义变量的类型 协议编程:一个类实现了某个魔法函数,这个类就是什么类型,理解为协议