nginx:反向代理服务器——一个非常强大且灵活的工具

news2024/10/1 1:49:04

        Nginx 是一个高性能的 HTTP 和反向代理服务器,常用于 Web 服务器、负载均衡器和反向代理。它以其高性能、稳定性、丰富的功能集、简单的配置文件和低资源消耗而著称。在部署 Web 应用程序时,Nginx 常被用来处理静态文件、反向代理动态内容、负载均衡等任务。

一、反向代理

应用场景:当需要将来自客户端的请求转发给后端的不同服务器时,可以使用 Nginx 作为反向代理服务器。

1.1请求转发

配置nginx原因:

会破坏前端封装的结果,因为之前的前端基地址都是一个,但是后端是多个工程共同作用,每个工程的端口号不一样,意味着前端的基地址写后端任意一个端口都是不满足需求的,所以需要使用nginx代理,转发请求到后端。

1.1.1安装nginx

1、下载解压,直接解压后就行了

2、在nginx的的安装目录下,输入cmd,进入命令提示符

 3、输入nginx.exe,打开nginx,并能看到光标一直闪烁

4、关闭nginx,需要在其安装目录下,另外打开一个cmd窗口输入nginx.exe -s stop

1.1.2配置nginx

1)后端配置

1、找到对应后端的端口是多少

在自己的后端工程化项目中src/resources/application.properties里,此时的8001是该子工程的端口

2、在nginx安装目录下进入conf,双击nginx.conf打开,进行配置修改

nginx的默认端口是80,因为害怕端口冲突,改成了81

在http{…}里面编写以下代码来创建配置

server {
	listen       9001;
	server_name  localhost;
	
	location ~ /aaa/ {
		proxy_pass http://localhost:8001;
	}
	
	location ~ /bbb/ {
		proxy_pass http://localhost:8002;
	}
	
}

其中9001是nginx配置的对外监听的端口号,可以修改成其他的

location ~ /aaa/ {...}中的~表示此时的匹配方式是正则匹配,这样的话只要路径里面包含/aaa/就可以匹配上,不加~的话代表只有路径就是/aaa/时才可以匹配上

~/aaa/ :是端口路径匹配,项目里包含的内容(在每个子工程的控制器controller里可以看到请求的路径)

8001端口

8002端口

 

 

2)前端配置

将封装请求的基地址改成:nginx对外监听的端口号

1.2负载均衡

要做负载均衡有一个特点:需要用到集群。集群:比如说我现在有两台服务器,一个端口是8003,另一个端口是8004,但是这两ccc这个项目 

二、静态文件服务

应用场景:当需要提供大量的静态文件(如 HTML、图片、视频等)时,Nginx 可以非常高效地处理这些请求,因为它采用了异步非阻塞的事件处理模型。

通俗的讲:实现动静分离,我们在tomcat里面放了java代码部分,然后又专门找了个服务器放静态资源(html、图片…),当我们访问java代码时就去请求tomcat,当我们访问静态资源时就去请求我们的静态服务器

特点

  • 高性能:能处理大量的并发请求。
  • 资源占用少:相比传统的同步服务器,Nginx 对内存和CPU的使用更加节约。

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

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

相关文章

AI大模型面试大纲

大纲 1. 介绍和背景 自我介绍(5分钟) 了解候选人的教育背景、工作经历和对大模型架构的兴趣。 2. 基础理论和概念(30分钟) 机器学习基础 解释基本概念,如监督学习、无监督学习和强化学习。 讨论不同的模型类型&#xf…

UG NX二次开发(C#)-建模-根据拉伸体获取草图对象

文章目录 1、前言2、在UG NX中创建基于草图的拉伸对象2.1 在建模模块中进入草图环境2.2 创建拉伸特征2.3 分析拉伸特征父项3 实现代码3.1 基于NXOpen实现3.2 UFun函数实现3.3 效果1、前言 今天在QQ群中,有个群友咨询了根据拉伸体获取草图对象,我今天难得清闲一次,就讲一下吧…

JQuery基本介绍和使用方法

JQuery基本介绍和使用方法 W3C 标准给我们提供了⼀系列的函数, 让我们可以操作: ⽹⻚内容⽹⻚结构⽹⻚样式 但是原⽣的JavaScript提供的API操作DOM元素时, 代码⽐较繁琐, 冗⻓. 我们可以使⽤JQuery来操作⻚⾯对象. jQuery是⼀个快速、简洁且功能丰富的JavaScript框架, 于20…

这几种文件找回方法你都知道吗?

一、基础方法 检查回收站 无论是Windows系统还是Mac系统,回收站(或废纸篓)都是文件被删除后的默认存放位置。可以打开回收站,查看是否有误删的文件,并右键单击选择“还原”来恢复。利用文件历史记录或备份 Windows系统…

GDAL Unable to open EPSG support file gcs.csv

python环境从3.6升级到3.7,gdal版本从2.2.4升级到3.4.1之后,执行原来的gdal脚本,结果报出如下错误 ”ERROR 4: Unable to open EPSG support file gcs.csv. Try setting the GDAL_DATA environment variable to point to the directory conta…

CMake教程(八):添加定制命令和生成的文件

本篇继续 CMake 官网教程的第八篇教程,所用材料是 Step8 目录下的源代码。 本篇教程主要讲解如何通过 CMake 生成一个头文件,该头文件当中包含了 1 到 10 的平方根表格,然后在程序的其它部分包含这个生成的头文件。 出于教学的目的&#xf…

氨基酸在PDB文件中的原子命名规则

氨基酸在PDB文件中的原子命名规则 氨基和羧基上的原子都采用本名,C, N, O, H, etc. 其它原子除 H 外,所有原子命名均采用“原子名后缀[编号]”形式。整体命名方法类似于图论中求解最大流问题时所采用的标号法。首先α-C被命名为CA。其后按照成键关系逐级…

推荐一个可以把PDF样本册转换为翻页电子书的网站

​随着互联网的普及,越来越多的企业和个人开始意识到线上展览的重要性。如何将实体样本册转化为线上版本,让更多人了解和欣赏自己的产品与服务? 一、网站简介 这款PDF样本册免费上传网站名为“FLBOOK”,致力于为广大用户提供便捷…

书生大模型实战(从入门到进阶)L3-彩蛋岛-InternLM 1.8B 模型 Android 端侧部署实践

目录 1 环境准备 1.1 安装rust 1.2 安装Android Studio 1.3 设置环境变量 2 转换模型 2.1 安装mlc-llm 2.2 (可选)转换参数 2.3 (可选)生成配置 2.4 (可选)上传到huggingface 2.5 (可选) 测试转换的模型 3 打包运行 3.1 修改配置文件 3.2 运行打包命令 3.3 创建签…

Parallels Desktop19官方中文版10月最新

如何使用 Parallels Desktop 在 Mac 上运行虚拟机 Parallels Desktop 是一款强大的虚拟机软件,允许 Mac 用户在 macOS 上方便地运行 Windows 和其他操作系统。这款软件尤其适合开发者、设计师以及任何需要使用不同操作系统的用户。本文将为新手用户提供一步一步的指…

EthernetIP IO从站设备数据 转profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关采集ETHERNETIP IO数据 2 5 用PROFINET IO协议转发数据 4 6 从设备的的EDS文件获取参数信息 7 7 案例总结 9 1 案例说明 设置网关采集EthernetIP IO设备数据把采集的数据转成profinet IO协议转发给其他系统。 2…

可视耳勺方便吗?双十一质量最好的可视挖耳勺推荐

相信大家掏耳的时候完全依赖我们的感觉和经验,我们无法直接看到耳道内部的情况。这就如同在黑暗中摸索,极易造成意外伤害。稍有不慎,就可能刮伤耳道娇嫩的皮肤,导致耳道出血、感染,引发炎症。更严重的可能会导致听力下…

Linux驱动开发(速记版)--平台总线

第四十七章 平台总线模型介绍 47.1 什么是平台总线? 平台总线是Linux内核中的一种虚拟机制,用于连接和匹配平台设备与对应的平台驱动。它简化了设备与驱动之间的绑定过程,提高了系统对硬件的适配性和扩展性。 当设备或驱动被注册时&#xff…

Java 如何从图片上提取文字

生活中我们可能会遇到想从图片上直接复制上边的文字&#xff0c;该如何获取呢&#xff0c;接下来看看如何使用Java程序实现从图片中读取文字。 实现过程 1、引入Tess4J 依赖 <!--Tess4J 依赖--> <dependency><groupId>net.sourceforge.tess4j</groupId…

AI绘画助手,对比总结出这六款

AI绘画助手&#xff0c;AI绘画助手近年来在艺术创作领域中逐渐崭露头角&#xff0c;成为许多艺术家和设计师的新宠。随着人工智能技术的飞速发展&#xff0c;这些工具不仅提高了创作效率&#xff0c;还为用户带来了前所未有的创意体验。下文将介绍六款简单好用的AI绘画助手&…

主成分分析法

主成分分析法 1. 基础知识1.1 向量1.1.1 样本均值1.1.2 向量投影 1.2 矩阵1.2.1 矩阵微分1.2.2 矩阵特征值和特征向量1.2.2.1 特征值和特征向量的几何意义1.2.2.2 特征向量与矩阵变换的关系1.2.2.3 特征值与矩阵的迹 1.3 Lagrange乘子法1.3.1 等式约束优化问题 2. 主成分分析法…

【JavaScript】LeetCode:56-60

文章目录 56 路径总和Ⅲ57 二叉树的最近公共祖先58 二叉树中的最大路径59 岛屿数量60 腐烂的橘子 56 路径总和Ⅲ 递归遍历每个节点所有可能的路径。pathSum()&#xff1a;返回所有节点满足条件的路径数目&#xff0c;traversal()&#xff1a;返回当前遍历节点满足条件的路径数目…

鸿蒙开发(NEXT/API 12)【状态查询与订阅】手机侧应用开发

注意 该接口的调用需要在开发者联盟申请设备基础信息权限与穿戴用户状态权限&#xff0c;穿戴用户状态权限还需获得用户授权。 实时查询穿戴设备可用空间、电量状态。订阅穿戴设备连接状态、低电量告警、用户心率告警。查询和订阅穿戴设备充电状态、佩戴状态、设备模式。 使…

基于Apache和Tomcat的负载均衡实验报告

说明&#xff1a;本实验为浙江科技大学软件工程本科专业课程《软件体系结构》的实验报告。 五、总结 负载均衡的基础是集群&#xff0c;集群就是一组连在一起的计算机&#xff0c;从外部看它是一个系统&#xff0c;各节点可以是不同的操作系统或不同的硬件构成的计算机。负载…

【d56】【sql】完成sql 7题目

... 有一题感觉没意义&#xff0c;直接不刷