当前位置: 首页 > news >正文

Apache+Tomcat负载均衡

环境
两台Centos6.5服务器
Apache服务器:192.168.189.120
Tomcat1服务器:192.168.189.130
Tomcat2服务器:192.168.189.120
在TOMCAT服务器上安装Tocmat安装后启动就可以,可以参考tomcat安装文档
在Apache服务器上上传JK模块的安装包
yum -y install lrzsz
rz

解压
tar zxf jakarta-tomcat-connectors-1.2.15-src.tar.gz
进入目录
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
安装编译器和依赖库
yum -y install gcc gcc-c++ httpd-devel
配置并检测
./configure --with-apxs=/usr/sbin/apxs
编译并安装
make && make install
编辑Apache配置文件载入模块
vim /etc/httpd/conf/httpd.conf
增加一条内容:
LoadModule jk_module modules/mod_jk.so

为mod_jk模块生成配置文件
cd jakarta-tomcat-connectors-1.2.15-src/jk/conf
cp workers.properties.minimal /etc/httpd/conf/workers
编辑Apache配置文件定义JK的配置文件
vim /etc/httpd/conf/httpd.conf
在文件的末尾增加下列内容:
JkWorkersFile /etc/httpd/conf/workers
编辑workers配置文件,配置tomcat服务器的信息
内容如下:

vim /etc/httpd/conf/workers

worker.list=1605A

#Tomcat1
worker.tomcat1.type=ajp13
worker.tomcat1.host=192.168.189.130
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=1

#tomcat2
worker.tomcat2.type=ajp13
worker.tomcat2.host=192.168.189.120
worker.tomcat2.port=8009
worker.tomcat2.lbfactor=1

worker.1605A.type=lb
worker.1605A.balance_workers=tomcat1,tomcat2

在Apache配置文件中增加转发规则

vim /etc/httpd/conf/httpd.conf

在配置文件末尾增加如下内容:只转发jsp结尾的请求
JkMount /*.jsp 1605A
重启Apache

service httpd restart

将tomcat测试页面的动态网页拷贝至Apache网站根目录

cp -r /opt/tomcat/webapps/ROOT/* /var/www/html/

编写测试页面
TOMCAT1服务器上

vim /opt/tomcat/webapps/ROOT/index.jsp

在最上面增加一段
<h1>Tomcat1!!!<h1>
TOMCAT2服务器上

vim /opt/tomcat/webapps/ROOT/index.jsp

在最上面增加一段
<h1>Tomcat2!!!<h1>
浏览器访问测试
http://192.168.189.120/index.jsp
刷新会看到请求在两个Tomcat服务器上切换,说明现在请求已经由两台服务器在处理了!

转载于:https://blog.51cto.com/14199566/2363154

相关文章:

  • Kubernetes系统架构与组件功能
  • python 字符串方法
  • MMKV源码学习
  • Zookeeper简介
  • 微服务架构,你必须要知道的一些事儿!
  • 自动化测试|录制回放效果差异检测
  • JAVA springcloud ssm b2b2c多用户商城系统源码(一)构建第一个SpringBoot工程
  • Selenium-Switch--切换浏览器tab/iframe/alart
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别
  • Day01:总结一下str的常见操作吧~
  • Bytom储蓄分红合约解析
  • 软件测试2019:第二次作业
  • 企业应用开发(3)--用户故事
  • CAP的简单理解
  • ----------
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 2019年如何成为全栈工程师?
  • 4. 路由到控制器 - Laravel从零开始教程
  • Akka系列(七):Actor持久化之Akka persistence
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Js基础知识(四) - js运行原理与机制
  • js作用域和this的理解
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python 基础起步 (十) 什么叫函数?
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Service Worker
  • session共享问题解决方案
  • SpringBoot 实战 (三) | 配置文件详解
  • SQLServer之创建数据库快照
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 分布式事物理论与实践
  • 分享几个不错的工具
  • 高性能JavaScript阅读简记(三)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 容器服务kubernetes弹性伸缩高级用法
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 我看到的前端
  • 在Unity中实现一个简单的消息管理器
  • elasticsearch-head插件安装
  • hi-nginx-1.3.4编译安装
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #define、const、typedef的差别
  • #laravel 通过手动安装依赖PHPExcel#
  • (1)Android开发优化---------UI优化
  • (C#)获取字符编码的类
  • (Matlab)使用竞争神经网络实现数据聚类
  • (附源码)计算机毕业设计ssm电影分享网站
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)Google的Objective-C编码规范
  • (转)视频码率,帧率和分辨率的联系与区别