Nginx+Tomcat负载均衡群集

目录

  • [一. 部署Tomcat](#一. 部署Tomcat)
    • [1. Tomcat 简介](#1. Tomcat 简介)
    • [2. 应用场景](#2. 应用场景)
  • [二. 案例:Nginx+Tomcat 负载均衡、动静分离](#二. 案例:Nginx+Tomcat 负载均衡、动静分离)
    • [1. 实施准备](#1. 实施准备)
    • [2. 安装配置 Tomcat](#2. 安装配置 Tomcat)
    • [3. 建立 Java 的 Web 站点](#3. 建立 Java 的 Web 站点)
    • [4. Nginx服务器配置](#4. Nginx服务器配置)
    • [5. 测试效果](#5. 测试效果)

一. 部署Tomcat

1. Tomcat 简介

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

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

2. 应用场景

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

二. 案例:Nginx+Tomcat 负载均衡、动静分离

1. 实施准备

①:关闭三台主机的firewalld防火墙、Selinux安全机制

复制代码
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux

②:安装 Tomcat 之前安装 JDK

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

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

Tomcat1:

Tomcat2:

③:检查 JDK 是否安装

Tomcat1:

Tomca2:

2. 安装配置 Tomcat

①:解压 apache-tomcat-9.0.8.tar.gz 包

Tomcat1:

Tomcat2:

②:解压后生成 apache-tomcat-9.0.8 文件夹,将该文件夹移动到/usr/local/下,
并 改名为 tomcat9

Tomcat1:

Tomcat2:

③:启动 Tomcat 服务,并检查端口

Tomcat1:

Tomcat2:

④:打开浏览器访问测试


3. 建立 Java 的 Web 站点

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

Tomcat1:

Tomcat2:

②:在 webapp1 目录下 建立一个 index.jsp 的测试页面

Tomcat1:

复制代码
[root@localhost ~]# vim /web/webapp1/index.jsp

Tomcat2:

复制代码
[root@localhost ~]# vim /web/webapp1/index.jsp

③:修改 Tomcat 的server.xml 文件

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

context 段

Tomcat1:

Tomcat2:

④:关闭 Tomcat,并重启

Tomcat1:

Tomcat2:

⑤:确认 Web 站点(测试)

4. Nginx服务器配置

①:关闭firewalld防火墙,Selinux安全机制

复制代码
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux

②:安装相关依赖包

③:解压并安装Nginx


④:配置nginx.conf

复制代码
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

⑤:添加nginx测试页面、图片路径

5. 测试效果

访问nginx自己的页面

查看日志

相关推荐
Lsetea20 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
梅孔立2 天前
Docker 容器网络不通:Tomcat 无法解析 MySQL、Nginx 无法反代 Tomcat 的生产级排查与治理
网络·docker·tomcat
未来之窗软件服务3 天前
WAF负载均衡+蜜罐混淆安全体系-东方仙盟
运维·安全·负载均衡·仙盟创梦ide·东方仙盟·阿雪技术观·网关开发
paopaokaka_luck3 天前
灾害应急物资管理系统(AI应急助手、Echarts可视化数据看板、捐赠入库联动、 物资全流程管理、库存变动追溯、灾情资讯与互动反馈、物资发放公示)
java·前端·javascript·spring boot·mysql·tomcat·echarts
Linux-lucky3 天前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
枫叶轻语3 天前
【Nginx 从入门到实战 09】前后端统一入口:部署页面与接口的完整配置
nginx·全栈
无言听风雨丶3 天前
Nginx 深度实战:从架构原理到生产排错
运维·nginx·架构
xxwl5853 天前
Nginx 基础学习笔记
笔记·学习·nginx
fb_123453 天前
K8s StatefulSet五大有状态集群实战_Nginx_Etcd_Redis_Cassandra_MySQL
nginx·kubernetes·etcd
acd120093 天前
域名解析缓存带来的隐性故障,很多排查都漏掉了这一层
java·运维·nginx