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

LVS负载均衡

目录

案例实施

检查JDK是否安装

安装配置tomcat

tomcat配置相关说明

tomcat住配置文件说明

Tomcat Server的组成部分说明

建立jave的web站点

nginx+tomcat 负载均衡,动静分离群集

tomcat2 server配置

nginx服务器配置


案例实施

关闭防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

               在安装tomat之前必须安装JDK

               JDK的全称是Java Development Kit,是Sun公司免费提供的Java语言的软件
开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译可形成
Java字节码,只要安装了JDK,就可以利用JVM解释这些字节码文件,从而保证了
Java的跨平台性。在平台兼容性方面,JDK 作为解释字节码文件并据此调用操作系统API实现对应功Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而
Tomcat也具有上述特征,默认情况下JDK已经安装,所以需要预先下载Tomcat,本
章中所使用的Tomcat软件的源码包为apache-tomcat-9.0.8.taar.gz

检查JDK是否安装

[root@localhost tomcat9]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

安装配置tomcat

解压移动目录


[root@localhost ~]# tar xf apache-tomcat-9.0.8.tar.gz
[root@localhost ~]# mv apache-tomcat-9.0.8/ /usr/local/tomcat9

                 启动tomcat

[root@localhost tomcat9]# /usr/local/tomcat9/bin/startup. sh
Using CATALINA_BASE:
/usr/local/tomcat9.
/usr/local/tomcat9.
Using CATALINA_HOME:
Using CATALINA_TMPDIR: /usr/local/tomcat9/temp
Using JRE_HOME:
/usr
Using
CLASSPATH:
/usr/local/tomcat9/bin/bootstrap. jar:/usr/local/tomcat9/bin/tomcat-juli.jar
Tomcat started.

                 查看相关端口号

[root@localhost ^]# netstat -anpt | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 2809/java

tomcat配置相关说明

[root@localhost 11 /usr/local/tomcat9
总计112
drwxr-x--- 2 root root
4096 4月14日 18:22 bin
4096 4月14日 18:58 conf
drwx------ 3 root root
4096 4月14日 18:22 lib
drwxr-x--- 2 root root
57092 2018年4月28日 LICENSE
-rw-r---- 1 root root
4096 4月14日 18:24 logs
drwxr-x--- 2 root root
1804 2018年4月28日 NOTICE
root root
-rw-r----- 1 root root
6852 2018年4月28日RELEASE-NOTES
16246 2018年4月28日 RUNNING.txt
-rw-r----- 1
root root
4096 4月14日 18:22 temp
drwxr-x--- 2 root root
4096 2018年4月28日 webapps
drwxr-x--- 7 root root
drwxr-x--- 3 root root
4096 4月14日 18:24 work

 主要目录说明

|--bin/:存放Windows或Linux平台上启动和关闭Tomcat的脚本文件。
--conf/:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和
web. xml。
|---1ib/:存放Tomcat运行需要的库文件(JARS)
---logs:存放Tomcat执行时的LOG文件。
|--webapps:Tomcat的主要Web发布目录(包括应用程序示例)。
|---work:存放JSP编译后产生的 class文件。

配置文件说明

catalina.policy:权限控制配置文件。
catalina.properties:Tomcat属性配置文件。
context.xml:上下文配置文件。
logging.properties:日志log相关配置文件。
server.xml:主配置文件。
tomcat-users.xml:manager-gui管理用户配置文件(Tomcat安装后提供一个manager-gui的管理界面,通过配置文件可以开启访问)web.xml: Tomcat,server-mapping,filter,MIME等相关配置

tomcat主配置文件说明

server.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的
启动端口、网站目录、虚拟主机、开启https等重要功能。
整个server.xml由以下结构构成:<Server>、<Service>、<Connector/><Engine>
<Host>、<Context>、</Context>、</Host>、</Engine>、</Service>和</Server>
以下是默认安装后server.xml文件的部分内容,其中く!T
-->内的内容是注释信
息,黑色斜体部分是需要注意和需要经常更改的部分。

Tomcat Server的组成部分说明

Tomcat Server 由 Server、Service、Connector、Engine、Flost和Context组成。
ServerServer 元素代表了整个 Catalina的servlet容器。
(2) ServiceService是这样一个集合:它由一个或者多个Connector,以及一个Engine(负责处理所有Connector所获得的客户请求)组成。(3) Connector
Connector在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处
理,从Engine处获得回应并返回客户。Tomcat有两个典型的Connector,一个直接侦听来自browser的http请求,
个侦听来自其他WebServer的请求。
CoyoteHttp/1.1 Connector在端口8080处侦听来自客户browser的http请
求。
CoyoteJK2 Connector在端口8009处侦听来自其他 WebSServer(Apache)的
servlet/jsp代理请求。

建立jave的web站点

在根目录下建立一个web目录,并在里面建立一个webappl目录,用于存放网
站文件。

[root@localhost ^]# mkdir -pv /web/web/webappl
mkdir: created directory "/web"
mkdir: created directorr "/web/webappl"

 在webappl 目录下建立一个index.jsp的测试页面。

[root@localhost ^]# vim /web/webappl/index.jsp
\%@page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html>
<head>
<title>JSP testl page</title> </head>
<body>
<%out.println("动态页面1,http://www.testl.com");%></body
<body>
<div>静态页面的图片1</div><br><imgsrc="logo.jpg
</body>
</html>

(3)修改Tomcat的server.xml文件。
定义一个虚拟主机,并将网站文件路径指向已经建立的/web/web/weebappl,在host段增加
context

[root@localhost `]# vim /usr/local/tomcat9/conf/server. xml
<Context docBase="/web/webapp1" path="" reloadable="false"></Context>

关闭tomcat重新启动

[root@localhost ^]# /usr/local/tomcat9/bin/slhutdown. sh
[root@localhost ^]# /usr/local/tomcat9/bin/startup. sh

nginx+tomcat 负载均衡,动静分离群集

通常情况下,一台Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多
样的请求等问题,不能单独应用于生产环境下,所以需要一一套更可靠的解决方案来完
善Web站点架构。
Nginx是一款非常优秀的http服务器软件,它能够支持高达!50000个并发连接
数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗
非常低。目前很多大型网站都应用Nginx服务器作为后端端网站程序的反向代理及负
载均衡器,来提升整个站点的负载并发能力。
Nginx是一个非常强大的静态web服务,Tomcat处理动态请求效率不高,而一般
网站大多数的内容都是静态文件(如图片、html、css、js等),经过Nginx前端的
反向代理加速和过滤,后端Tomcat处理请求的压力便可大大调减少,只需负责处理动
态内容就可以了。在性能与稳定性的权衡下,使用Nginx+Tomoat搭配便可让它们在
各自擅长的领域大展拳脚。

tomcat2 server配置

Tomcat2 server配置方法基本同Tomcat1,其中包括:
(1)关闭防火墙。
确认是否安装JDK,JAVA版本与Tomcatlserver保持一致。
(3)安装配置Tomcat,版本与Tomcatlserver保持一致。
(4)创建/web/webappl目录,修改Tomcat配置文件server.xml,将网站文件目录更
改到/web/webapp1/路径下。
(5)在/web/webappl/路径下建立 index.jsp,为了区别将测试页面index.jsp的内

[root@localhost ^]# vim /web/webappl/index.jsp
\%@page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>
<head>
<title>JSP test2 page</title> </head>
<body>
<% out.println("动态页面2,http://www.test2.com")
;%></body>
<body>
<div>动态页面的图片2</div><br><imgsrc=1ogo.jpg
</body>
</html>

启动tomcat浏览器访问tomact2server测试http://172.16.173:8080 

nginx服务器配置

在Nginx服务器192.168.10.103上安装 Nginx,反向代理到两两个Tomcat站点,
并实现负载均衡。

关闭防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

                 安装相关软件包

[root@localhost `]# dnf install -y gcc make pcre-devel zlib-devel openssl-devel
perl-ExtUtils-MakeMaker

解压并安装nginx

[root@nodel ^]# useradd -M -s /sbin/nologin nginx
[root@localhost ^]# tar zxf nginx-1.26.3.tar.gz
[root@localhost ^]# cd nginx-1.26.3
[root@localhost nginx-1.26.3]# ./configure-prefix=/usr/local/nginx
--user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module
--with-pcre
[root@localhost nginx-1.26.3]# make & make install

配置nginx。conf

[root@localhost ^]# vim /usr/local/nginx/conf/ngitnx. conflocation ~ .*jsp$ {proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://tomcat_server;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {root /usr/local/nginx/html/img;expires 30d;}

 nginx准备配置文件

[rootenginx ^]# mkdir /usr/local/nginx/html/img//创建静态文件目录
[root@nginx ^]#cp /root/logo.jpg /usr/local/nginx/html/im2

测试nginx是否配置文件是否错误

[root@localhost^]# /usr/local/nginx/sbin/nginx -t

启动nginx服务

[root@localhost~]#/usr/local/nginx/sbin/nginx -c 
/usr/local/nginx/conf/nginx.conf

查看nginx服务

[root@localhost ~]# ps aux | grep nginx
[root@localhost ~]# netstat -anpt | grep nginx

在Web应用架构中,Tomcat作为Java应用服务器,擅长处理动态请求与业
务逻辑,但在处理静态资源(如图片、CSS、JS文件)时效故率相对较低,且可能
占用服务器宝贵的计算资源。而Nginx作为高性能的HTTP和反句代理服务器,
在静态资源处理方面表现卓越,能够快速响应并缓存静态内容,咸轻后端服务器
的压力。通过将Nginx与Tomcat结合,实现动静分离架林沟,即Nginx负责处理
静态资源请求,Tomcat专注于处理动态请求,两者通过高效协作不仅提升了整体
系统的响应速度和吞吐量,还增强了系统的可扩展性和稳定性,是现代Web应用
架构优化的重要实践。

相关文章:

  • Java复习Day26
  • 线程相关面试题
  • JSCH使用SFTP详细教程
  • 【小红书】API接口,获取笔记列表
  • H.264编码
  • 深拷贝与浅拷贝的区别?如何手写实现一个深拷贝?
  • 基于51单片机和8X8点阵屏、独立按键的填充消除类小游戏
  • Linux操作系统-命令基础
  • 【leetcode-两数之和】
  • el-select 实现分页加载,切换也数滚回到顶部,自定义高度
  • MAU算法流程理解
  • 剑指offer14_二进制中1的个数
  • Nginx 的配置文件
  • VBA模拟进度条
  • 谈C语言变量的作用域,加深对全局变量和局部变量的理解
  • 【判断酒酒花数】2022-3-31
  • 对数正态分布LogNormal
  • DDD 到底是什么? 它试图解决什么核心问题?
  • Day-15【选择与循环】选择结构-if语句
  • 海盗64位GameServer的使用体验
  • 镇江网站设计哪家好/湖南株洲疫情最新情况
  • dede做电影网站/百度升级最新版本
  • 怎么开个人网站赚钱/做一个简单网页
  • 网站类别选择/在线crm
  • 属于b2b电子商务网站/南京seo推广
  • 制作的网站/百度怎么推广自己的网站