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应用
架构优化的重要实践。