基于Apache和tomcat实现负载均衡
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实现负载均衡的更多相关文章
- Apache和Tomcat 配置负载均衡(mod-proxy方式)-无session共享、无粘性session
转:https://blog.csdn.net/wangjunjun2008/article/details/38268483 mod-proxy方式实现负载均衡是利用了Apache 2.x版本自带的 ...
- Apache和Tomcat 配置负载均衡(mod-proxy方式)-粘性session
Tomcat集群配置后端Tomcat Server为支持AJP的独立服务,前端Apache配置为粘性会话(sticky-session),Tomcat不配置Cluster配置和Session复制. 配 ...
- 基于nginx与Tomcat实现负载均衡
server1:192.168.200.113(nginx服务端) server2:192.168.200.111(Tomcat服务端) server1中nginx的配置文件 nginx.conf h ...
- 基于Apache+Tomcat实现负载均衡
1.基于Apache和tomcat实现负载均衡 准备三个虚拟机一个安装Apache两个安装Tomcat 关闭防火墙 systemctl stop firewalld Iptabled -F Seten ...
- Apache+Tomcat部署负载均衡(或集群)
本来只打算写Tomcat集群部署,简化Apache和Tomcat整合过程的.后来想了想,这样不便于没有用过Apache的朋友来学习本文内容.于是干脆加大篇幅,让对Apache不了解的朋友能对Apach ...
- apache+tomcat配置负载均衡,实现http与websocket接口分压
一.应用场景 在生产环境中,应用服务器(此文以tomcat为例)不免面临高访问量的压力,相比而言web服务器(此文以apache为例)能够承担更大的并发量.Apache本身带有一些模块,可以完成对应用 ...
- Nginx 服务器 之Nginx与tomcat实现负载均衡
本文讲解我们如何使用Nginx做反向带服务器,实现nginx与tomcat服务器集群做负载均衡. 一.nginx与tomcat实现负载均衡 1.在/usr/local/ngnix/conf 创建 ...
- 利用httpd对tomcat进行负载均衡配置
实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有2台主机,IP分配如拓扑 实验软件:jdk-8u60-linux-x64 ...
- Tomcat(五):nginx/httpd + tomcat及负载均衡tomcat
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
随机推荐
- WPF 精修篇 全局为处理异常处理
原文:WPF 精修篇 全局为处理异常处理 当我们写代码的时候 对代码错误异常处理 有的时候会 没做处理 比如 我们执行如下代码 会引发程序崩溃 private void Button_Click(ob ...
- golang+vscode开发环境的搭建
一.windows下安装golang开发环境 (1)配置GOROOT变量,在系统变量中点击新建,变量值是golang安装文件夹目录 (2)配置Path变量,选中Path点编辑即可,在变量值后面追加;% ...
- 【linux命令】权限管理命令(chattr、lsattr、sudo)
目录 chattr lsattr sudo 一.chattr命令 chattr命令用来修改文件系统的权限属性,只有 root 用户可以使用,建立凌驾于 rwx 基础权限之上的授权. PS:chattr ...
- pytest框架之parametries数据驱动参数化
在测试用例的前面加上:@pytest.mark.parametrize('参数名', 列表数据) 参数名:用来接收每一项数据,并作为测试用例的参数 列表参数:一组测试数据(元组.列表.字典) 方式一: ...
- 【前端知识体系-JS相关】你真的了解JavaScript编译解析的流程吗?
1. JS编译解析的流程 1.1 JS运行分三步 语法分析(通篇扫描是否有语法错误),预编译(发生在函数执行的前一刻),解释执行(一行行执行). 1.2 预编译执行分五步 创建AO对象(Activat ...
- 为什么Redis 单线程却能支撑高并发?
作者:Draveness 原文:draveness.me/redis-io-multiplexing 推荐阅读 1. Java 性能优化:教你提高代码运行的效率 2. 基于token的多平台身份认证架 ...
- java基础(20):Map、可变参数、Collections
1. Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤 ...
- Python 最强 IDE 详细使用指南!-PyCharm
PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率.那么具体如何使用呢?本文从 PyCharm 安装到插件.外部工具.专业版功能等进行了一一介绍,希望能够帮助到大家. ...
- Java生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案
Java生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案 说明:Java开源生鲜电商中OMS订单系统中并发问题和锁机制的探讨与解决方案: 问题由来 假设在一个订单系统中(以火车票 ...
- flex弹性布局没有生效
display: -webkit-flex; /* 新版本语法: Chrome 21+ */ display: -webkit-box; /* 老版本语法: Safari, iOS, Android ...