部署Tomcat及其负载均衡

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

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

1、案例实施

1.1、实施准备

1)关闭firewalld防火墙。

[root@localhost ~]# systemctl stop firewalld

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

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

1.2、查看JDK是否安装

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

[root@localhost ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

1.3、安装配置Tomcat

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

[root@localhost ~]# tar xf apache-tomcat-8.5.16.tar.gz 

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

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

3)启动tomcat。

[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

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

[root@localhost ~]# netstat -anpt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      63339/java    

4)打开浏览器访问测试:http://192.168.136.21:8080/,如果出现以下界面则表示Tomcat已经启动成功。

部署Tomcat及其负载均衡,防护与集群,linux

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

1.4、Tomcat配置相关说明

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

[root@localhost ~]# cd /usr/local/tomcat8/
[root@localhost tomcat8]# ll
总用量 92
drwxr-x--- 2 root root  4096 1月  13 14:36 bin
drwx------ 3 root root   254 1月  13 16:06 conf
drwxr-x--- 2 root root  4096 1月  13 14:36 lib
-rw-r----- 1 root root 57092 6月  22 2017 LICENSE
drwxr-x--- 2 root root   197 1月  13 14:37 logs
-rw-r----- 1 root root  1723 6月  22 2017 NOTICE
-rw-r----- 1 root root  7064 6月  22 2017 RELEASE-NOTES
-rw-r----- 1 root root 15946 6月  22 2017 RUNNING.txt
drwxr-x--- 2 root root    30 1月  13 14:36 temp
drwxr-x--- 7 root root    81 6月  22 2017 webapps
drwxr-x--- 3 root root    22 1月  13 14:37 work

1)主要目录说明。

I --- bin/:存放Windows或Linux平台上启动和关闭Tomcat的脚本文件。
I --- conf/:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml。
I --- lib/:存放Tomcat运行需要的库文件(JARS)。
| --- logs:存放Tomcat执行时的LOG文件。
| --- webapps:Tomcat的主要Web发布目录(包括应用程序示例)。
|-- work:存为JSP编译后产生的class 文件

2)配置文件说明。

[root@localhost tomcat8]# ll conf/
总用量 224
drwxr-x--- 3 root root     23 1月  13 14:37 Catalina
-rw------- 1 root root  13816 6月  22 2017 catalina.policy
-rw------- 1 root root   7376 6月  22 2017 catalina.properties
-rw------- 1 root root   1338 6月  22 2017 context.xml
-rw------- 1 root root   1149 6月  22 2017 jaspic-providers.xml
-rw------- 1 root root   2358 6月  22 2017 jaspic-providers.xsd
-rw------- 1 root root   3622 6月  22 2017 logging.properties
-rw------- 1 root root   7607 1月  13 16:06 server.xml
-rw------- 1 root root   2164 6月  22 2017 tomcat-users.xml
-rw------- 1 root root   2633 6月  22 2017 tomcat-users.xsd
-rw------- 1 root root 168251 6月  22 2017 web.xml

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

1.5、Tomcat主配置文件说明

         server.xml为Tomcat的主要配置文件,通过配置该文件,可以修改Tomcat的启动端口、网站目录、虚拟主机、开启https等重要功能。

        整个server.xml由以下结构构成:< Server>、<Service>、< Connector/>、< Engine>、<Host>、<Context>、</Context>、</Host>、</Engine>、</Service>和</Server>。
        其中<!-- -->内的内容是注释信息,黑色斜体部分是我们需要注意和需要经常更改的部分。

1.6、Tomcat Server的组成部分说明

1)Server

        Server元素代表了整个Catalina的servlet容器


2) Service
        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
        Engine下可以配置多个虚拟主机 Virtual Host,每个虚拟主机都有一个域名。
        当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理。
        Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来
处理。



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



6) Context
        一个Context对应于-个Web Application,一个Web Application由一个或者多个Servlet 组成。

1.7、建立java的Web站点

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

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

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


[root@localhost ~]# vim /web/webapp1/index.jsp 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
    <title>JSP test1 page</title>
  </head>
  <body>
    <% out.println("Welcom to test site,http:www.test1.com");%>
  </body>
</html>

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

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

[root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml 
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
       <Context docBase="/web/webapp1" path="" reloadable="false" >
       </Context>

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

[root@localhost ~]# /usr/local/tomcat8/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

5)通过浏览器访问http://192.168.136.21:8080/,出现下图则说明该Tomcat站点已经配置成功,并且已经能够运行JSP了。

部署Tomcat及其负载均衡,防护与集群,linux

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

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@localhost ~]# vim /web/webapp1/index.jsp 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
    <title>JSP test2 page</title>
  </head>
  <body>
    <% out.println("Welcom to test site,http:www.test2.com");%>
  </body>
</html>

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

http {
···//省略内容

    #gzip  on;
    upstream tomcat_server {
                  server 192.168.136.21:8080 weight=1;
                  server 192.168.136.22:8080 weight=1;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

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

2.2、Nginx服务器配置

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

1)关闭防火墙。

2)安装相关软件包。

[root@localhost ~]# yum -y install pcre-devel zlib-devel openssl-devel

 3)解压并安装Nginx。

[root@localhost ~]# groupadd www
[root@localhost ~]# useradd -g www www -s /bin/false
[root@localhost ~]# tar xf nginx-1.12.0.tar.gz
[root@localhost ~]# cd nginx-1.12.0/
[root@localhost 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
[root@localhost nginx-1.12.0]# make
[root@localhost nginx-1.12.0]# make install

4)配置nginx.conf。

http {
···//省略内容

    #gzip  on;
    upstream tomcat_server {  //配置负载均衡组
                  server 192.168.136.21:8080 weight=1;
                  server 192.168.136.22:8080 weight=1;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_server;  //加上此配置代理设定好的tomcat_server负载均衡组
        }

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

[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

6)启动Nginx服务。

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

7)查看Nginx服务进程。

[root@localhost ~]# ps aux | grep nginx
root      10476  0.0  0.0  20548   612 ?        Ss   15:16   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www       10477  0.0  0.1  23080  1640 ?        S    15:16   0:00 nginx: worker process
root      69146  0.0  0.0 112724   988 pts/0    S+   16:56   0:00 grep --color=auto nginx

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

[root@localhost ~]# netstat -anpt | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      10476/nginx: master 

2.3、测试负载均衡效果

1)打开浏览器访问:http://192.168.136.24/

2)不断刷新浏览器测试,可以看到由于权重相同,页面会反复在以下两个页面来回切换。

第一次访问,出现test1的测试页面;刷新后,第二次访问,则会出现test2的测试页面。这说明负载均衡群集搭建成功,已经可以在两个Tomcat server站点进行切换了。

部署Tomcat及其负载均衡,防护与集群,linux

部署Tomcat及其负载均衡,防护与集群,linux文章来源地址https://www.toymoban.com/news/detail-812165.html

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

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

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

相关文章

  • 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)
  • Nginx+Tomcat负载均衡(反向代理)、动静分离集群

    Nginx:正向代理(知道目标服务器) 反向代理(不知道目标服务器) Nginx配置反向代理主要参数 upstream服务池名{}(F5(硬件)和nginx反向代理原理一样) 配置后端服务池,以提供响应数据 proxy_pass http://服务池名 配置将访问请求转发给后端服务器池的服务器处理 定义:将工作任务

    2024年02月13日
    浏览(43)
  • Web服务器群集:Nginx+Tomcat实现负载均衡与动静分离集群

    目录 一、理论 1.多实例 2.Nginx负载均衡 3.Nginx动静分离 4.配置Nginx+Tomcat负载均衡 5.配置Nginx+Tomcat动静分离集群 6.Nginx 四层代理配置 二、实验 1.配置Nginx+Tomcat负载均衡 2.、配置Nginx+Tomcat动静分离集群 三、问题 1.服务器群集与集群的区别 2.正向代理与反向代理的区别 四、总结 (

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

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

    2024年02月13日
    浏览(42)
  • Tomcat多实例部署及nginx+tomcat的负载均衡和动静分离

    静:静态页面   动: 动态页面 分别可以对静态页面和动态页面发起不同的请求,会有不同的响应结果。 ngix反向代理——负均均衡——tomcat为后端服务器——web静态nginx——静态请求nginx——动态页面——tomcat Nginx实现负载均衡的原理 Nginx实现负载均衡是通过反向代理实现Ngi

    2024年02月13日
    浏览(50)
  • 多实例部署和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)
  • 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多实例部署实现动静分离和负载均衡

    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)
  • Nginx反向代理配置+负载均衡集群部署

    什么是代理 正向代理既是通过代理服务器访问外网资源,而反向代理与之相反是将局域网的资源通过反向代理服务器提供给互联网用户浏览和使用等。 实验环境图 流量过程 当客户端发起请求后通过Internet (本实验为NAT网卡)来到代理服务器上,代理服务器经算法选择后调用

    2024年02月13日
    浏览(41)
  • LVS负载均衡集群-NAT模式部署

    集群:将多台主机作为一个整体,然后对外提供相同的服务 集群使用场景:高并发的场景     1.负载均衡器集群         减少响应延迟,提高并发处理的能力     2,高可用集群         增强系统的稳定性可靠性,减少服务器的中断时间,减少损失     3,高性能集群

    2024年02月12日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包