Linux--部署 Tomcat 及其负载均衡

这篇具有很好参考价值的文章主要介绍了Linux--部署 Tomcat 及其负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.案例前置知识点

1)Tomcat简介

       名称由来:Tomcat最初是由 Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变 为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的 书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希 望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(公猫)。而O1Reilly 出版的介绍Tomcat的书籍的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。

       其实Tomcat最早在开始研发的时候并不叫这个名字,早期Tomcat项目的名字叫Cataline,所以 当我们安装完Tomcat 后会发现安装路径下面有很多和Catalina有关的目录和文件,而这些文件通常也是我们使用或者配置Tomcat的重要文件。

2)应用场景

       Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小 型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说, Tomcat 虽然和Apache 或者Nginx这些Web服务器一样,具有处理HTM_页面的功能,然而由于其处 理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端,如图5.1所示。

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

3.案例环境

本案例环境,如下所示。

主机                              操作系统                               IP地址                  主要软件

Tomcat 服务器     apache-tomcat-8.5.16.tar.gz      192.168.184.101     CentOS 7.3 x86_64 

5.1.2案例实施

1.实施准备

(1)关闭 firewalld防火墙。

[root@node01 ~]# systemctl stop firewalld

(2)在安装Tomcat之前必须先安装JDK.JDK的全称是Java Development Kit,是Sun公司免费提供的Java语言的软件开发工具包,其中包含Java虚拟机(JVM)。编写好的Java源程序经过编译 可形成Java字节码,只要安装了JDK,就可以利用JVM解释这些字节码文件,从而保证了Java的跨平台性。

      在平台兼容性方面,JDK作为解释字节码文件并据此调用操作系统APl实现对应功能的 Java 虚 拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat 也具有上述特征. 默认情况下JDK已经安装,所以需要预先下载Tomcat,本章中所使用的Tomcat软件的源码包为 apache–tomcat–8.5.16. tar.gz。

2.查看JDK是否安装

     运行java -versicn命令查看Java是否安装,如果没有安装需要自行下载安装。

[root@node01 ~]# java -version

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

3.安装配置Tomcat

(1)解压apache-tomcat-8.5.16.tar.gz包。

[root@node01 ~]# ftp 172.16.37.13

ftp> cd 软件下载/y2/y2c

ftp> ls

ftp> get apache-tomcat-8.5.16.tar.gz
ftp> get nginx-1.12.0.tar.gz

ftp> exit

[root@node01 ~]# tar zxf apache-tomcat-8.5.16.tar.gz 
[root@node01 ~]# ls

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(2)解压后生成apache-tomcat-8.5.16文件夹,将该文件夹移动到/usr/local/下,并改名为 tomcat7。

[root@node01 ~]# mv apache-tomcat-8.5.16 /usr/local/tomcat8

(3) 启动tomcat。

[root@node01 ~]# /usr/local/tomcat8/bin/startup.sh 

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

Tomcat默认运行在8080端口,运行netstat命令查看8080端口监听的信息。

[root@node01 ~]# netstat -anpt | grep 8080

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(4)打开浏览器访问测试:http://192.168.184.101:8080/,如果出现如图中所示的界面,则表示Tomcat 已经启动成功。

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

如果想关闭Tomcat,则运行/usr/local/tomcat8/bin/shutdown.sh命令。

4.Tomcat 配置相关说明

Tormcat的主目录为/usr/local/tomcat8/。

[root@node01 ~]# cd /usr/local/tomcat8/
[root@node01 tomcat8]# ll

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(1)主要目录说明。

I--—bin/:存放Windows或Linux平台上启动和关闭 Tomcat 的脚本文件。

|一--conf/:存放Tomcat服务器的各种全局配置文件,其中最重要的是 server.xml 和 web.xml。

I---lib/:存放Tomcat运行需要的库文件(JARS)。

I---logs:存放Tomcat 执行时的LOG文件。

|---webapps:Tomcat 的主要Web发布目录(包括应用程序示例)。

|---work:存放JSP编译后产生的 class 文件。

(2)配置文件说明。

[root@node01 tomcat8]# ll conf/

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

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、MIME等相关配置。

7. 建立 java 的 Web 站点

(1)在根目录下建立一个web 目录,并在里面建立一个webapp1目录,用于存放网站文件。

[root@node01 ~]# mkdir -pv /web/webapp1

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(2)在webapp1目录下建立一个index.jsp的测试页面。

[root@node01 ~]# vim /web/webapp1/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
    <title>JSP test1 page</title>
  </head>
  <boby>
    <% out.println("Welcom to test site,http//www.test1.com");%>
  </body>
</html>

[root@node01 ~]# more /web/webapp1/index.jsp 

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(3)修改Tomcat的server.xml文件。

定义一个虚拟主机,并将网站文件路径指向已经建立的/web/webapp1,在host段增加context段。

[root@node01 ~]# vim /usr/local/tomcat8/conf/server.xml 

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
       <Context docBase="/web/webapp1" path="" reloadable="false" >
       </Context>                              //docBase:web应用的文档基准目录
                                               //reloadable设置监视"类"是否变化
                                               //path=""设置默认"类"

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(4)关闭Tomcat,再重新启动。

[root@node01 ~]# /usr/local/tomcat8/bin/shutdown.sh 

[root@node01 ~]# /usr/local/tomcat8/bin/startup.sh 

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(5)通过浏览器访问http://192.168.184.101:8080/,出现如图中所示的页面,说明该Tomcat 站点已经配置成功,并且已经能够运行JSP了。

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

5.2 案例:Nginx+Tomcat 负载均衡群集

5.2.1案例分析

1.案例概述

       通常情况下,一台Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问 题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善Web站点架构。         Nginx是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强 大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低.目前很多大型网站都 应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。

       本案例我们将讲解以Nginx作为负载均衡器,Tomcat作为应用服务器的负载群集的设置方法。 网站拓扑架构如图5.4所示。

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

2.案例环境 本案例环境如下所示。

表5-2案例环境

操作系统                          主机                            IP地址                             主要软件

Nginx服务器            CentOS 7.3 x86_64       192.168.184.200            nginx-1.12.0.tar.gz

Tomcat 服务器1      CentOS 7.3 x86_64        192.168.184.101:8080   apache-tomcat-8.5.16.tar.gz

Tomcat 服务器2      CentOS 7.3 x86_64        192.168.184.10:8080     apache-tomcat-8.5.16.tar.gz

5.2.2案例实施

1.Tomcat2 server 配置 Tomcat2 server配置方法基本同Tomcat1,其中包括:

(1)关闭防火墙。

(2)确认是否安装JDK,JAVA版本与Tomcat1 server保持一致。

(3)安装配置Tomcat,版本与Tomcat1 server保持一致。

(4)创建/web/webapp1目录,修改Tomcat配置文件 server.xml,将网站文件目录更改到 /web/webapp1/路径下。

(5)在/web/webapp1/路径下建立index.jsp,为了区别将测试页面index.jsp的内容更改如下。

[root@node02 ~]# vim /web/webapp1/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
    <title>JSP test2 page</title>
  </head>
  <boby>
    <% out.println("Welcom to test site,http//www.test2.com");%>
  </body>
</html>

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(6)启动Tomcat,浏览器访问Tomcat2 server,测试http://192.168.184.10:8080/。

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

2. Nginx服务器配置

在Nginx服务器192.168.184.200上安装Nginx,反向代理两个Tomcat站点,并实现负载均衡。

(1)关闭防火墙。

(2)安装相关软件包。

[root@node03 ~]# cd /etc/yum.repos.d/

[root@node03 yum.repos.d]# ls

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

[root@node03 yum.repos.d]# mv * /opt/
[root@node03 yum.repos.d]# ls
[root@node03 yum.repos.d]# vim local.repo
[root@node03 yum.repos.d]# cd

[root@node03 ~]# mount /dev/cdrom /mnt/

mount: /dev/sr0 写保护,将以只读方式挂载

[root@node03 ~]# yum -y install pcre-devel zlib-devel openssl-devel
[root@node03 ~]# yum -y install ftp.x86_64 

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(3)解压并安装Nginx。

[root@node03 ~]# groupadd www
[root@node03 ~]# useradd -g www www -s /bin/false
root@node03 ~]# tar zxf nginx-1.12.0.tar.gz 
[root@node03 ~]# cd nginx-1.12.0/
[root@node03 nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module

//--user=,--group=                指定运行的用户和组
//--with-file-aio                 启用文件修改支持
//--with-http_stub_status_module  启用状态统计
//--with-http_gzip_static_module  启用gzip静态压缩
//--with-http_flv_module          启用f1v模块,提供寻求内存使用基于时间的偏移量文件
//--with-http_ssl_module          启用SSL模块

[root@node03 nginx-1.12.0]# make
[root@node03 nginx-1.12.0]# make install

(4)配置nginx.conf。

① 在 http {…} 中加入以下代码,设定负载均衡的服务器列表,weight参数表示权重,权重越高,被分配到的概率越大。为了使测试效果比较明显,我们把权重设置为一样。

[root@node03 ~]# vim /usr/local/nginx/conf/nginx.conf

upstream tomcat_server {
                   server 192.168.184.101:8080 weight=1;
                   server 192.168.184.10:8080  weight=1;
               }

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

② 在 http {…} - server {…} - location / {…} 中加入一行 “proxy_pass http://tomcat_server;"。

location / {
            root   html;
            index  index.html index.htm;
            proxy_pass    http://tomcat_server;
        }

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

③ 把Nginx的默认站点通过proxy_pass方法代理到了设定好的tomcat_server 负载均衡服务器组上。配置完成的nginx.conf 文件内容如下。

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(5)测试Nginx配置文件是否正确。

[root@node03 ~]# /usr/local/nginx/sbin/nginx -t

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(6)启动Nginx服务。

[root@node03 ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(7)查看Nginx服务进程。

[root@node03 ~]# ps aux | grep nginx

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

(8)查看端口号及PID进程号。

[root@node03 ~]# netstat -anpt | grep nginx

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

3.测试负载均衡效果

(1)打开浏览器访问:http://192.168.184.200/。

(2)不断刷新浏览器测试,可以看到由于权重相同,页面会反复在以下两个页面来回切换。 第一次访问,出现test1的测试页面,如图5.5所示。刷新后,第二次访问,出现test2的测试页面,如图5.6所示,这说明负载均衡群集搭建成功,已经可以在两个Tomcat server站点进行切换了。

                                                           图5.5 test1的测试页面 

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡

                                                            图5.6 test2的测试页面 

Linux--部署 Tomcat 及其负载均衡,Linux,linux,tomcat,负载均衡文章来源地址https://www.toymoban.com/news/detail-798228.html

到了这里,关于Linux--部署 Tomcat 及其负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx+Tomcat实现负载均衡、动静分离集群部署

    1、安装好JDK 2、安装tomcat 3、配置tomcat环境变量 4、修改tomcat2中的server.xml文件,要求各tomcat实例配置不能有重复的端口号 5、修改各tomcat实例中的startup.sh和shutdown.sh文件,添加tomcat环境变量 6、启动各tomcat中的/bin/startup.sh 7、浏览器访问测试 1、Nginx应用 Nginx是一款非常优秀的

    2024年02月08日
    浏览(93)
  • Nginx+Tomcat负载均衡、动静分离实例详细部署

    ●rr 轮询 负载均衡模式: 每个请求按时间顺序逐一分配到不同的后端服务器,如果超过了最大失败次数后(max_fails,默认1),在失效时间内(fail_timeout,默认10秒),该节点失效权重变为0,超过失效时间后,则恢复正常,或者全部节点都为down后,那么将所有节点都恢复为有效

    2024年02月13日
    浏览(42)
  • Tomcat服务部署、优化及多实例实验(Nginx+Tomcat负载均衡、动静分离)

    目录 1 Tomcat 1.1 tomcat 构成 1.2 什么是 servlet? 1.3 什么是 JSP? 1.4 Tomcat 功能组件结构 1.5 Container 结构分析 1.6 Tomcat 请求过程 2 Tomcat 服务部署 2.1 环境部署 2.1.1 ​编辑 2.1.2 设置JDK环境变量 2.2 安装启动Tomcat 2.3 优化tomcat启动速度 2.4 主要目录说明 3 Tomcat 虚拟主机配置 3.1 创建 c

    2024年02月09日
    浏览(43)
  • 多实例部署和Nginx+Tomcat负载均衡、动静分离

    目录 一、Tomcat多实例部署 1.安装好 jdk  2.安装 tomcat  3.配置 tomcat环境变量  4.修改 tomcat2 中的 server.xml文件,要求各 tomcat 实例配置不能有重复的端口号 5.修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量  6.启动各 tomcat 中的 /bin/startup.sh  7.浏览器访问测

    2024年02月12日
    浏览(58)
  • 简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡

    1、在安装好jdk环境后,添加两例Tomcat服务 2.添加tomcat环境变量 3.修改 tomcat1 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号 (1) (2) (3) 4.修改两个 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量 (1) (2) 5.启动两例 tomcat 运行各自的

    2024年02月12日
    浏览(35)
  • 负载均衡的综合部署练习(hproxy+keepalived和lvs-DR+keepalived+nginx+Tomcat)

    一、haproxy+keepalived haproxy 2台 20.0.0.21 20.0.0.22 nginx 2台 20.0.0.23 20.0.0.24 客户机 1台 20.0.0.30 这里没有haproxy不是集群的概念,他只是代理服务器。 访问他直接可以直接访问后端服务器 关闭防火墙 安装haproxy和环境: yum install -y pcre-devel bzip2-devel gcc gcc-c++ make tar zxvf haproxy-1.5.19.tar.g

    2024年02月06日
    浏览(38)
  • Nginx使用场景&&Nginx基础&&Nginx的负载均衡策略&&Nginx配置文件&&Nginx+Tomcat集群示例&&Nginx部署静态网站&&根据Tomcat容器实际IP修改Nginx配置

    目录 1. Nginx使用场景 2. Nginx中的进程 2.1 Nginx中的多进程模型 2.2 多进程模式的优点: 2.3 缓存 3. Ngnix的负载均衡策略 3.1 轮询法 3.2 加权轮询 3.3 原地址哈希 3.4 最小连接数法 3.5 Fair 3.6 url_hash 3. Nginx配置文件 4. Nginx+tomcat 集群示例 4.1 下载镜像 4.2 在宿主机中创建需要挂载的目录

    2024年02月04日
    浏览(54)
  • Tomcat多实例 + Tomcat负载均衡、动静分离(Nginx联动)

    Tomcat 多实例是指在同一台服务器上 运行多个独立的 Tomcat 实例 。 每个 Tomcat 实例都具有独立的配置文件、日志文件、应用程序和端口。 通过配置不同的端口和文件目录,可以实现同时运行多个独立的 Tomcat 服务器,每个服务器都可以独立处理用户的请求。 这样可以提高服务

    2024年02月09日
    浏览(41)
  • Tomcat多实例与负载均衡

    在部署tomct之前必须安装好jdk,以为jdk是tomcat运行的必要环境 关闭防火墙 将安装tomcat所需软件包传到/opt目录下 安装jdk 查看java版本 切换至/opt下,解压tomcat包 新建文件夹/usr/local/tomcat 件解后的包拷贝至/usr/local下并重命名 修改tomcat1的/usr/local/tomcat/tomcat1/bin/startup.sh 修改tomca

    2024年02月09日
    浏览(29)
  • Nginx+Tomcat 负载均衡、动静分离

    目录 一、Nginx代理服务器概念 1.正向代理 2.反向代理 二、动静分离 三、负载均衡  四、Nginx七层代理实验 1.部署Nginx服务 2. 部署Tomcat服务  2.1在192.168.88.50 虚拟机上部署双实例 2.2在192.168.88.60 上部署Tomcat服务器3 3.动静分离配置 3.1Tomcat1 server 配置 3.2 Tomcat2 server 配置 3.3Tomc

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包