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应用

架构优化的重要实践。

相关推荐
Evan芙16 分钟前
用Shell脚本破解经典鸡兔同笼问题
linux·运维·网络
悟能不能悟17 分钟前
登录jenkins默认用户密码
运维·jenkins
大大大水蜜桃21 分钟前
Nginx HTTPS服务搭建实验
运维·nginx·https
BugShare1 小时前
粗心大意必酿大祸,记录nginx配置文件的一次闹剧
运维·nginx
jerryinwuhan1 小时前
机器人控制程序
linux·运维·网络
honeysuckle_luo1 小时前
香橙派ai pro安装支持昇腾NPU的ollama
linux·运维·服务器
小锋学长生活大爆炸2 小时前
【教程】CentOS在不知道root密码的情况下进入shell和重置密码
linux·运维·centos
weixin_46682 小时前
Docker常用命令与操作
运维·docker·容器
wanhengidc2 小时前
云手机 多样化的云服务产品
运维·服务器·科技·游戏·智能手机
通义灵码2 小时前
Qoder Linux 版公测上线
linux·运维·服务器