基于Apache和tomcat实现负载均衡
一、需要三台主机,一台安装apache,两台安装tomcat
二、tomcat1与tomcat2安装Tomcat tomcat-8.5.16(为了便于区分tomcat1使用默认页面,tomcat2使用测试页面)
安装tomcat之前需要安装java的jdk,版本为:jdk-8u191-linux-x64.tar.gz
1、第一台tomcat主机tomcat1(默认页面安装)
关闭防火墙
[root@localhost ~]# systemctl stop firewalld [root@localhost ~]# iptables -F [root@localhost ~]# setenforce 0
查看JDK是否安装
[root@localhost ~]# java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
卸载用rpm方式安装的JDK
[root@localhost ~]# which java /usr/bin/java [root@localhost ~]# rm -rf /usr/bin/java [root@localhost ~]# java -version -bash: /usr/bin/java: 没有那个文件或目录
安装JDK
[root@localhost ~]# tar -xf jdk-8u191-linux-x64.tar.gz [root@localhost ~]# mv jdk1.8.0_191/ /usr/local/java //将解压后的包移动到指定目录下 [root@localhost ~]# /usr/local/java/bin/java -version //此时只有通过绝对路径才可以查看java的版本号信息 [root@localhost ~]# vim /etc/profile //修改 export JAVA_HOME=/usr/local/java //设置java的根目录 export PATH=$PATH:$JAVA_HOME/bin //在PATH环境变量中添加java根目录下的bin子目录 [root@localhost ~]# echo $PATH //在未执行修改的脚本时查看PATH变量 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@localhost ~]# source /etc/profile //重置一下脚本 [root@localhost ~]# echo $PATH //再查一遍 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin
Tomcat安装
[root@localhost ~]# tar -xf apache-tomcat-8.5.16.tar.gz [root@localhost ~]# mv apache-tomcat-8.5.16 /usr/local/tomcat8 [root@localhost ~]# ls /usr/local/tomcat8/bin bootstrap.jar setclasspath.sh catalina.bat shutdown.bat catalina.sh shutdown.sh catalina-tasks.xml startup.bat commons-daemon.jar startup.sh (启动文件) commons-daemon-native.tar.gz tomcat-juli.jar configtest.bat tomcat-native.tar.gz configtest.sh tool-wrapper.bat daemon.sh tool-wrapper.sh digest.bat version.bat digest.sh version.sh setclasspath.bat //.bat Windows版本 //.sh Linus版本
启动
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat8 Using CATALINA_HOME: /usr/local/tomcat8 Using CATALINA_TMPDIR: /usr/local/tomcat8/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar Tomcat started. [root@localhost ~]# netstat -anpt | grep :8080 tcp6 0 0 :::8080 :::* LISTEN 3226/java
2、第二台tomcat主机tomcat2(测试页面安装)
安装tomcat的过程与安装第一台一样,过程省略
主要设置tomcat网页存放位置
[root@localhost ~]# mkdir -p /web/webapp/ //创建存放网页的目录 [root@localhost ~]# vim /web/webapp/index.jsp //添加要存放的网页 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>JSP test1 page</title> </head> <body> <% out.println("Welcome to test site,http://www.test1.com");%> </body> </html> [root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context docBase="/web/webapp" path="" reloadable="flash"></Context> 注释:docBase="/web/webapp" //web应用的文档基准目录 path=" " //设置默认"类" reloadable="flase" //设置监视"类"是否变化 [root@localhost ~]# /usr/local/tomcat8/bin/shutdown.sh //关一下机 Using CATALINA_BASE: /usr/local/tomcat8 Using CATALINA_HOME: /usr/local/tomcat8 Using CATALINA_TMPDIR: /usr/local/tomcat8/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh //重新开 Using CATALINA_BASE: /usr/local/tomcat8 Using CATALINA_HOME: /usr/local/tomcat8 Using CATALINA_TMPDIR: /usr/local/tomcat8/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar Tomcat started.
网页测试
三、apache安装,Apache httpd-2.2.15,直接使用yum安装httpd
[root@localhost ~]# yum -y install httpd
修改配置文件
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
在文件里添加
<Proxy balancer://tomcat/>
BalancerMember ajp://192.168.200.111:8009/ loadfactor=1
BalancerMember ajp://192.168.200.112:8009/ loadfactor=1
proxyset lbmethod=byrequests
</Proxy>
proxyrequests off
ProxyPass / balancer://tomcat/
proxypassreverse / balancer://tomcats/
ProxyPass /server-status !
ProxyPass /balancer-manager !
[root@localhost ~]# systemctl restart httpd //重启服务
网页测试
原文地址:https://www.cnblogs.com/tanxiaojuncom/p/11552324.html
- 用MapReduce分析Hbase将结果插入mysql中
- 敲敲级简单的鉴别H图片的小程序
- processArgs方法解读
- Python分布式微博爬虫(源码分享)
- NewInstallUserMapper.class阅读笔记
- TimeUtil类所有方法
- mapreduce项目调优
- zookeeper强制关机无法启动Unable to load database on disk具体解决步骤
- Python爬淘宝——300W淘宝文胸说明了什么
- 文本编码转换工具iconv 附批量转换文件编码命令
- 用23行代码爬取豆瓣音乐top250
- GitHub上超9Kstars的Python爬虫项目——pyspider(国人编写)
- 理解zookeeper选举机制
- zookeeper详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP PDO和消息队列的个人理解与应用实例分析
- tp5 sum某个字段相加得到总数的例子
- laravel框架创建授权策略实例分析
- tp5递归 无限级分类详解
- PHP 进程池与轮询调度算法实现多任务的示例代码
- 如何在Laravel5.8中正确地应用Repository设计模式
- laravel框架中路由设置,路由参数和路由命名实例分析
- PHP框架实现WebSocket在线聊天通讯系统
- 设定php简写功能的方法
- 使用PHP+Redis实现延迟任务,实现自动取消订单功能
- 详解no input file specified 三种解决方法
- PHP实现微信提现功能(微信商城)
- 关于Yii2框架跑脚本时内存泄漏问题的分析与解决
- laravel 框架结合关联查询 when()用法分析
- php 实现简单的登录功能示例【基于thinkPHP框架】