案例:部署tomcat及负载均衡
Posted 徐阿马
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了案例:部署tomcat及负载均衡相关的知识,希望对你有一定的参考价值。
会不会有那么一天,生活可以简单到每天清早踏上一辆载着鲜花的脚踏车,微笑着穿过窄窄的街巷,为爱花的人送去芬芳,为需要知识的你送去帮助。
简介
在前面已经学习了nginx服务器的安装配置,本章主要采用案例课的形式介绍Tomcat及Nginx+Tomcat负载均衡群集。Tomcat案例首先介绍其应用场景,然后重点介绍Tomcat的安装配置。Nginx+Tomcat负载均衡群集案例是应用于生产环境下的一套可靠的Web站点解决方案。
本章重点
安装配置 Tomcat
搭建Nginx+Tomcat负载均衡群集
理论讲解
一,tomcat知识点
1)Tomcat简介
名称由来:Tomcat最初是由Sun的软件构架师詹姆斯邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache 软件基金会。由于大部分开源项目OReilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(公猫)。而OReilly 出版的介绍Tomcat的书籍的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。
其实Tomcat最早在开始研发的时候并不叫这个名字,早期Tomcat项目的名字叫Catalina,所以当我们安装完Tomcat后会发现安装路径下面有很多和Catalina有关的目录和文件,而这些文件通常也是我们使用或者配置Tomcat的重要文件。
2)应用场景
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomcat 虽然和Apache 或者Nginx这些Web服务器一样,具有处理html页面的功能,然而由于其处理静态HTML的能力远不及Apache 或者Nginx,所以Tomcat 通常是作为一个Servlet和JSP容器,单独运行在后端。
二,部署Tomcat
1.实施准备
1) 关闭防火墙
2)在安装Tomcat之前必须先安装JDK。JDK的全称是Java Development Kit,是Sun公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译可形成Java字节码,只要安装了JDK,就可以利用、VM解释这些字节码文件,从而保证了Java的跨平台性。
在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统APl实现对应功能的Java虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat也具有上述特征,默认情况下JDK已经安装,所以需要预先下载Tomcat,本章中所使用的Tomcat 软件的源码包为apache-tomcat-7.0.54.tar.gz
2.查看JDK是否安装
运行java-version命令查看Java是否安装。如果没有安装需要自行下载安装。(一般的Centos6操作系统需要单独安装JDK和配置运行环境,Centos7及Centos7以上操作系统都自动安装好了JDK和配置好了运行环境)
3,解压Tomcat
4.将tomcat移动到/usr/local 下并改名为tomcat
5.启动tomcat
Tomcat默认运行在8080端口。
停止tomcat服务执行 /usr/local/tomcat/bin/shutdown.sh 即可
6.打开浏览器输入虚拟机IP进行测试访问
7.tomcat配置相关说明
(1)主要目录说明。
--bin/:存放Windows或Linux平台上启动和关闭Tomcat的脚本文件。
--conf/:存放Tomcat 服务器的各种全局配置文件,其中最重要的是server.xml和web.xml。
-lib/:存放Tomcat 运行需要的库文件(JARS)。
--logs:存放Tomcat执行时的LOG文件。
--webapps;Tomcat的主要Web发布目录(包括应用程序示例)。
--work:存放JSP编译后产生的class文件。
2)配置文件说明
catalina.policy:权限控制配置文件。
catalina.properties:Tomcat 属性配置文件。
context.xml:上下文配置文件。
logging.properties:日志log相关配置文件。
server.xml:主配置文件。
tomcat-users.xml:manager-gui 管理用户配置文件(Tomcat 安装后提供一个manager-gui的管理界面,通过配置该文件可以开启访问)。
web.xml:Tomcat的servlet.servlet-mapping、filter、MIVME等相关配置。
8.Tomcat主配置文件说明
整个server.xml由以下结构构成:<Server>、<Service>、<Connector/>、<Engine>、<Host>、
<Context>、</Context>、</Host>、</Engine>、</Service>和</Server>
server.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的启动端口,网站目录、虚拟主机、开启https等重要功能。
整个server.xml由以下结构构成及说明:
<Connector/>:Tomcat启动的默认端口号8080,可以根据需要进行更改
<Host>:为Tomcat定义虚拟主机时的配置及日志配置
9.Tomcat Server的组成部分说明
1)Server Server 元素代表了整个Catalina的servlet容器。
2)Service Service是这样一个集合:它由一个或者多个Connector,以及一个Engine(负责处理所有Connector所获得的客户请求)组成。
3)Connector
一个Connector 在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户。
Tomcat 有两个典型的Conmector,一个直接侦听来自browser的http请求,一个侦听来自其他WebServer的请求。
4)Engine
Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名。
当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理。
Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理。
5)Host Host 代表一个Virtual Host,即虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配。每个虚拟主机下都可以部署(deploy)一个或者多个Web App.每个WebApp 对应于一个Context.
有一个Context path。当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理,匹配的方法是“最长匹配”,所以一个path==的Context将成为该Host的默认Context。
所有无法和其他Context的路径名匹配的请求都将最终和该默认Context匹配。
6)Context
一个Context对应于一个Web Application,一个Web Application 由一个或者多个Servlet组成。
9.建立java的Web站点
(1)在根目录下建立一个www目录,用于存放网站文件。
在www目录下建立一个index.jsp的测试页面。
(2)修改Tomcat的server.xml文件。
定义一个虚拟主机,并将网站文件路径指向已经建立的/www,在host段增加context段。
10.优化tomcat命令,关掉服务并重启,打开测试页面
1)优化tomcat命令。
2)关掉服务再启动服务
3)访问测试页面
三,部署Nginx+Tomcat负载均衡群集
通常情况下,为了避免单点故障,我们的Tomcat服务器远远不止一台
Nginx是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低。目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。
部署环境
服务器 |
IP地址 |
网站页面 |
tomcat1/Cetnos01 |
192.168.100.10 | Hello Tomcat |
tomcat2/Centos02 |
192.168.100.20 | Hello Linux |
nginx/Centos03 |
192.168.100.30 |
1.tomcat2的配置方法与tomcat1的配置方法基本一致,为了区分,tomcat2的网站默认页面写入 Hello Linux
测试页面:
2. 在nginx服务器上安装nginx,反向代理tomcat2个站点,并实现负载均衡
1)安装相关依赖
2)解压并安装nginx
3)编译并安装
4)配置nginx主配置文件支持反向代理以及负载均衡
5)测试主配置文件是否有错
6)启动nginx服务
7)查看nginx服务状态
8)访问nginx页面
不断刷新浏览器页面,我们会发现页面效果在不断变化,这便是负载均衡!
故事很短,道理很长,学无止境,不忘初心,砥砺前行
以上是关于案例:部署tomcat及负载均衡的主要内容,如果未能解决你的问题,请参考以下文章