LVS负载均衡

目录

案例实施

检查JDK是否安装

安装配置tomcat

tomcat配置相关说明

tomcat住配置文件说明

[Tomcat Server的组成部分说明](#Tomcat Server的组成部分说明)

建立jave的web站点

[nginx+tomcat 负载均衡,动静分离群集](#nginx+tomcat 负载均衡,动静分离群集)

[tomcat2 server配置](#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的组成部分说明)

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 负载均衡,动静分离群集](#nginx+tomcat 负载均衡,动静分离群集)

通常情况下,一台Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多

样的请求等问题,不能单独应用于生产环境下,所以需要一一套更可靠的解决方案来完

善Web站点架构。

Nginx是一款非常优秀的http服务器软件,它能够支持高达!50000个并发连接

数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗

非常低。目前很多大型网站都应用Nginx服务器作为后端端网站程序的反向代理及负

载均衡器,来提升整个站点的负载并发能力。

Nginx是一个非常强大的静态web服务,Tomcat处理动态请求效率不高,而一般

网站大多数的内容都是静态文件(如图片、html、css、js等),经过Nginx前端的

反向代理加速和过滤,后端Tomcat处理请求的压力便可大大调减少,只需负责处理动

态内容就可以了。在性能与稳定性的权衡下,使用Nginx+Tomoat搭配便可让它们在

各自擅长的领域大展拳脚。

[tomcat2 server配置](#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. conf
       location ~ .*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应用

架构优化的重要实践。

相关推荐
搬码临时工2 小时前
电脑同时连接内网和外网的方法,附外网连接局域网的操作设置
运维·服务器·网络
藥瓿亭2 小时前
K8S认证|CKS题库+答案| 3. 默认网络策略
运维·ubuntu·docker·云原生·容器·kubernetes·cks
Gaoithe2 小时前
ubuntu 端口复用
linux·运维·ubuntu
gsls2008084 小时前
ocrapi服务docker镜像使用
运维·docker·容器
文牧之4 小时前
PostgreSQL 的扩展pg_freespacemap
运维·数据库·postgresql
AWS官方合作商5 小时前
基于AWS Serverless架构:零运维构建自动化SEO内容生成系统
运维·serverless·aws
whp4045 小时前
windows server2019 不成功的部署docker经历
运维·docker·容器
IT界小黑的对象6 小时前
virtualBox部署ubuntu22.04虚拟机 NAT+host only 宿主机ping不通虚拟机
linux·运维·服务器
weixin_527550406 小时前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
keson要进步6 小时前
CICD实战(一) -----Jenkins的下载与安装
运维·ci/cd·centos·自动化·jenkins