Nginx+Tomcat 动静分离

在这里插入图片描述

1. Nginx+Tomcat 环境

  • Nginx 处理静态资源的优势同样可以应用在 Tomcat 环境中 。从实现方法上来说,Nginx+Tomcat 环境的搭建思路与前面完成的 Nginx+Apache 环境是完全相同的,只需要将 Nginx 与 Tomcat 的站点文档目录配置到同一目录下,利用 Nginx 的 proxy_pass 指令代理请求动态文件即可。

1.1 Tomcat 的安装与使用

1. 获取 Tomcat 和 JDK

  • 由于 Tomcat 主要用于运行 JavaWeb 项目,所以需要在系统中安装 JRE(Java Runtime Environment ,Java 运行环境)。如果需要直接在服务器中开发 JavaWeb 项目,则需要安装 JDK(Java Development Kit,Java 开发工具包)
  • 关于JDK和Tomcat的安装,可以访问我以前的博客作为参考。
  • Centos7.3云服务器上安装Nginx、MySQL、JDK、Tomcat环境

2. 查看 Tomcat 目录结构

  • 切换到 Tomcat 目录中查看目录结构,具体结果如下。

在这里插入图片描述

在这里插入图片描述

  • 启动、关闭Tomcat命令都要在bin目录下执行
./startup.sh
./shutdown.sh
  • 打开防火墙的端口号和服务器上的安全组规则,把主要的端口号放开

Nginx +Tomcat 动静分离

  • Java Web 项目中的动态资源使用 jspdo 扩展名,并且在站点文档目录中通过 WEBINFMETA-INF 目录保存一些配置信息。下面以 Tomcat 的默认站点为例,实现 Nginx +Tomcat 的动静分离 。在 Nginx 中创建虚拟主机 tomcat. ng. test,具体配置如下。
1	server {
2		listen 80;
3		server_name tomcat.ng.test;
4		root /usr/1ocal/tomcat8.5/webapps/ROOT;
5		index index.html index.htm index.jsp index.do;
6		location ~/(WEB- INE|META-INF){
7			deny all;
8		}
9		location ~\.(jsp|do)$ {
10			proxy_pass http:/1127.0.0.1:8080;
11			proxy_set_header X-Client-IP $ remote addr;
12		}
13		location~^/(docs|examples)(/.*)* $ {
14		root /usr/local/tomcat8.5/webapps;
15		}
16 }
  • 在上述配置中,第 4 行设置站点文档目录为 webapps 目录下的 ROOT 目录,该目录是站点的根目录;第 5 行在默认页面配置中增加了 jspdo 扩展名;第 6 行用于阻止访问配 置目录;第 9 行将带有 jspdo 扩展名的请求代理到 8080 端口的 Tomcat 服务器中;第 14 行配置了站点下 docs、examples 两个目录的实际存放路径。
  • 接下来在物理机的 hosts 文件中将域名 tomcat. ng. test 解析到 192. 168. 78. 3 ,然后使用浏览器访问进行测试,运行结果如图 5-28 所示。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58212.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是SMO算法

SMO算法(Sequential Minimal Optimization) 是一种用于求解 支持向量机(SVM) 二次规划对偶问题的优化算法。它由 John Platt 在 1998 年提出,目的是快速解决 SVM 的优化问题,特别是当数据集较大时&#xff…

npm安装过程的问题

报错信息C:\Users\lyyds>npm list -global npm error code ENOENT npm error syscall lstat npm error path D:\nodejs\node_global npm error errno -4058 npm error enoent ENOENT: no such file or directory, lstat D:\nodejs\node_global npm error enoent This is rel…

数通自学——VLAN虚拟局域网,eNSP实验讲解

VLAN虚拟局域网,eNSP实验讲解 一、概念二、eNSP仿真实验1、实验一:vlan演示(交换机端口access模式)2、实验二:vlan演示(交换机端口trunk模式) 一、概念 VLAN(Virtual Local Area Ne…

HarmonyOS应用开发者中级认证——中级闯关习题参考答案大全

文章目录 HarmonyOS第一课 ArkUI进阶判断题单选题多选题 HarmonyOS第一课 应用程序框架进阶判断题单选题多选题 HarmonyOS第一课 合理使用动画和转场判断题单选题多选题 HarmonyOS第一课 Web组件和WebView判断题单选题多选题 HarmonyOS第一课 给应用添加通知和提醒判断题单选题…

SQL-lab靶场less1-4

说明:部分内容来源于网络,如有侵权联系删除 前情提要:搭建sql-lab本地靶场的时候发现一些致命的报错: 这个程序只能在php 5.x上运行,在php 7及更高版本上,函数“mysql_query”和一些相关函数被删除&#xf…

java中的二叉树

二叉树 树型结构概念相关概念树的表示形式树的应用 二叉树概念两种特殊的二叉树二叉树的性质二叉树的存储二叉树的基本操作前置说明二叉树的遍历二叉树的基本操作 二叉树相关OJ题 树型结构 概念 树是一种非线性的的数据结构,它是由n(n>0)个有限结点组成一个具有…

贵州鑫宏远农业-始终致力于推动现代农业的科技创新与发展

贵州鑫宏远农业科技有限公司,是一家在高科技农业领域深耕细作、锐意进取的企业。自成立以来,我们始终致力于推动现代农业的科技创新与发展,业务全面覆盖农业科学研发、组织培养生产、专业育苗培植、半成品及成品精细化养护、市场销售以及全方…

数组与 ArrayList 有什么区别?

数组是一种基本的数据结构,在 Java 中,数组是一段连续的内存空间,用来存储固定数量的同类型元素。 数组的大小在创建时确定,并且在之后不可改变。 特点: 固定大小:数组的长度是固定的,一旦创…

RPA技术重塑企业自动化的未来

1. RPA定义与原理 1.1 机器人流程自动化(RPA)概念 机器人流程自动化(Robotic Process Automation,简称RPA)是一种软件技术,通过模拟人类用户在计算机界面上的操作来执行重复性的业务流程任务。RPA软件机器人能够自动执行基于规则…

对比两个el-table,差异数据突显标记

前言 在数据分析和数据处理的过程中,经常需要对比两个数据集,以便发现其中的差异和变化。本文将介绍如何使用 el-table 组件来对比两个数据集,并通过差异数据的突显标记,帮助用户更直观地理解数据的变化。 cell-style 属性 其实利…

如何用 obdiag 排查 OceanBase数据库的卡合并问题——《OceanBase诊断系列》14

1. 背景 卡合并在OceanBase中是一个复杂的问题,其产生可能源于多种因素。目前,对于卡合并的明确界定尚不存在统一标准,一方面,我们界定超过36小时未完成合并为合并超时,此时RS会记录ERROR日志;另一方面&am…

4个硬盘数据修复攻略:让你的数据失而复得。

据统计,在硬盘数据丢失的情况当中,有7成是因误删除、格式化和病毒攻击导致的。并且对与很多人来说,数据丢失是一个不小的问题。今天我就给大家分享几款能够帮助硬盘恢复数据的工具,希望能够在数据丢失是减小大家的焦虑。 1、福昕硬…

mac nwjs程序签名公证(其他mac程序也一样适用)

为什么需要公证 mac os14.5之后的系统,如果不对应用进行公证,安装,打开,权限使用上都会存在问题,而且有些问题你强制开启(sudo spctl --master-disable)使用后可能会有另外的问题, …

Python+pytest接口自动化之session会话保持的实现

前言 在接口测试的过程中,经常会遇到有些接口需要在登录的状态下才能请求,否则会提示请登录,那么怎样解决呢?我们可以通过Cookie绕过登录,其实这就是保持登录状态的方法之一。那么今天笔者想讲通过session进行会话保持…

衡石分析平台系统分析人员手册-导入图表库图表

导入图表库图表​ 本文讲述在仪表盘中如何使用图表库图表,如果您还不了解图表库,请先点击链接了解它的功能和作用。 在数据集市中建立图表库后,分析人员可以在应用创作中引用图表库图表,快速的进行数据分析工作。 导入图表库图…

java第三天(游戏开发)

学到 双缓存机制 public void paint(Graphics g) {// super.paint(g);//createImage(width, height) 是一个方法调用,它创建了一个指定宽度和高度的空图像缓冲区。这个方//法可以在 Component 类中找到,因此任何从 Component 继承的类(比…

Unix:Linux的“祖师爷”

目录 Unix的诞生 Unix对Linux的深远影响 Unix与Linux区别在哪里? Unix的诞生 Unix操作系统诞生于1969年,由肯汤普逊(Kenneth Lane Thompson)和丹尼斯里奇(Dennis MacAlistair Ritchie)在AT&T的贝尔实…

牛客周赛 Round 65

文章目录 超市思路:Solved: 雨幕思路:Solved: 闺蜜思路:Solved: 医生思路:Solved: 降温(easy)思路:Solved: F-降温(hard&a…

iOS Swift逆向——被编译优化后的函数参数调用约定修复

头文件导入: typedef long long s64; typedef unsigned long long u64;typedef s64 Int; typedef u64 Bool;struct Swift::String {u64 _countAndFlagsBits;void *_object; };union Swift_ElementAny {Swift::String stringElement; };struct Swift_Any {Swift_Ele…

前端算法:树(力扣144、94、145、100、104题)

目录 一、树(Tree) 1.介绍 2.特点 3.基本术语 4.种类 二、树之操作 1.遍历 前序遍历(Pre-order Traversal):访问根节点 -> 遍历左子树 -> 遍历右子树。 中序遍历(In-order Traversal&#xf…