部署tomcat及负载均衡群集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署tomcat及负载均衡群集相关的知识,希望对你有一定的参考价值。

Tomcat Server的组成部分

1 - Server

A Server element represents the entire Catalina servlet container. (Singleton)

2 - Service

A Service element represents the combination of one or more Connector components that share a single Engine
Service是这样一个集合:它由一个或者多个Connector组成,以及一个Engine,负责处理所有Connector所获得的客户请求

3 - Connector

一个Connector将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户
TOMCAT有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其它WebServer的请求
Coyote Http/1.1 Connector 在端口8080处侦听来自客户browser的http请求
Coyote JK2 Connector 在端口8009处侦听来自其它WebServer(Apache)的servlet/jsp代理请求

4 - Engine

The Engine element represents the entire request processing machinery associated with a particular Service
It receives and processes all requests from one or more Connectors
and returns the completed response to the Connector for ultimate transmission back to the client
Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名
当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理
Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理

5 - Host

代表一个Virtual Host,虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配
每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path
当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理
匹配的方法是“最长匹配”,所以一个path==""的Context将成为该Host的默认Context
所有无法和其它Context的路径名匹配的请求都将最终和该默认Context匹配

6 - Context

一个Context对应于一个Web Application,一个Web Application由一个或者多个Servlet组成
Context在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml载入Servlet类
当Context获得请求时,将在自己的映射表(mapping table)中寻找相匹配的Servlet类
如果找到,则执行该类,获得请求的回应,并返回

Tomcat目录
tomcat
|---bin Tomcat:存放启动和关闭tomcat脚本;
|---confTomcat:存放不同的配置文件(server.xml和web.xml);
|---doc:存放Tomcat文档;
|---lib/japser/common:存放Tomcat运行需要的库文件(JARS);
|---logs:存放Tomcat执行时的LOG文件;
|---src:存放Tomcat的源代码;
|---webapps:Tomcat的主要Web发布目录(包括应用程序示例);
|---work:存放jsp编译后产生的class文件;

-
Web应用服务器的选择
IBM的WebSphere及Oracle的WebLogic
性能高,但价格也高
Tomcat
性价比高

Nginx+Tomcat网站拓扑架构

技术分享图片

主机要求
使用3台虚拟机
操作系统为CentOS 6.5 x86_64

技术分享图片

-
配置防火墙规则

iptables  -A INPUT  -p tcp –-dport  80 –j ACCEPT
iptables  -A OUPUT  -p tcp –-sport  80 –j ACCEPT
iptables  -A INPUT  -p tcp –-sport  8080 –j ACCEPT
iptables  -A OUPUT  -p tcp –-dport  8080 –j ACCEPT

-
安装jdk
技术分享图片

建立就java.sh脚本
技术分享图片

技术分享图片

将java.sh脚本导入到环境变量。
技术分享图片

安装配置tomcat
解压apache-tomcat包

技术分享图片

启动tomcat
技术分享图片

在浏览器上测试http://localhost:8080
技术分享图片
注意:如果想关闭tomcat,运行/usr/local/tomcat7/bin/shutdown.sh命令

建立java的web站点
建立一个web目录,并在里面建立一个webapp1目录,用于存放网站文件。

技术分享图片

建立index.jsp的测试页面

技术分享图片

技术分享图片

修改tomcat的server.xml文件
在host区域里面添加以下内容即可

技术分享图片

技术分享图片

关闭tomcat服务,然后再启动
技术分享图片

浏览网页http://localhost:8080
技术分享图片

-
搭建nginx+tomcat负载均衡群集
技术分享图片

Tomcat1已经搭建好了tomcat2同1一样,为了区分不同的服务器,把第二台的网页改为内容www.test2.com

插入centos光盘,删除之前默认存在的几个yum文件配置一个yum仓库,然后安装下面的相关软件包
技术分享图片

技术分享图片

技术分享图片

建立用户和组,编译安装nginx
技术分享图片

技术分享图片

修改nginx配置文件,添加以下内容
首先在http{......}中加入下面代码,设定负载均衡的服务器列表。

技术分享图片

技术分享图片

然后在http{......}里面的server{......}里面的location{......}中加入一行
技术分享图片

测试nginx配置文件是否正确
执行/usr/local/nginx/sbin/nginx -t
出现下面的信息表示正确

启动nginx服务

查看端口netstat -anpt | grep nginx
技术分享图片

测试负载均衡效果
打开浏览器访问http://192.168.1.#
不断刷新浏览器测试,可以看到由于权重相同,页面会反复在以下两个页面来回切换,说明负载均衡群集搭建成功。

技术分享图片

技术分享图片

以上是关于部署tomcat及负载均衡群集的主要内容,如果未能解决你的问题,请参考以下文章

Nginx+Tomcat负载均衡群集

部署Nginx+Tomcat负载均衡群集

案例:部署tomcat及负载均衡

Tomcat部署+Nginx负载均衡群集

Nginx + Tomcat 实现 负载均衡 和 动静分离群集

LVS负载均衡群集部署之——NAT模式的介绍及搭建步骤